sophomorix4 is the next generation sophomorix

What leads towards a rewrite (instead of fixing old code)
------------------------------------------------------------
- no need to remove bind-mount code in sophomorix2
- no need to remove webmin code in sophomorix2
- no need to remove goups-of-groups-code in sophomorix2
  use function in the end that fixes everything
- add multiple schools support (better to do this from scratch)
  - create students group
  - create group school1, group school2 
- use english througout (variable names, comments, ...)
- create a library to access/add/remove data from ldap
  - to be used from schulkonsole, ...
- integrate /etc/linuxmuster/workstation into ldap
  - sync to ldap
  - create accounts
  - import workstations/linbo?/??? accesses workstation data in ldap
- integrate leoclient2 into ldap ???
- migrate sophomorix.conf to utf8
  - remove config vars



What can/should be done in sophomorix4:
------------------------------------------------------------
-> multi school solution
   multiple lehrer.txt
   multiple schueler.txt
   -> encoding must be automagically be detected 
   -> pre-filters:
      multiple filters should be configured in
      /etc/linuxmuster/sophomorix/users/filter/filters.conf
      # comment1
      school1.schueler.txt::/usr/bin/filter1
      # comment2
      school2.schueler.txt::/usr/bin/filter2
   is the order of the files relevant?


auto encoding detection
-> 4.0 auto-encoding 
    -> bildet Liste mit Dateinamen (abs_path), die verarbeitet werden 
    -> und hash:          Dateiname -> encoding dieser Datei
    -> weiterer hash: mit Dateiname -> typ der Datei (schueler.txt mit 5 Feldern, lehrer.txt mit mehr, ...)
-> dann werden die Dateien in der Listenreihenfolge durchgegangen
   -> ascii-namen erzeugt für neue Felder: firstname_ascii, surname_ascii
   -> utf8 Namen erzeugt für die echten Felder firstname, ... displayname



- log schueler.txt, ... automatically (if they differ)
- make the scripts much less noisy
  - do not print out much, keep it in a complex datastructure)
  - dump the datastructure when -v is given
- differ between utf8-name (displayname) and ascii-name () 
