Dev:Ltspd

This is a draft about a new configuration system for LTSP.

With LTSP 6 and LDM going away, sysadmins will need to revisit their lts.conf. LDM_DIRECTX and all the other LDM_* variables will at least have to be renamed. It might be a good opportunity to rewrite our configuration system so that it's more consistent and so that it offers more flexibility.

Tasks

 * Replace lts.conf and ldminfod with ltspd. Use /etc/ltsp/config.d/ to store the new configuration files.
 * Write ltspd in Python. Use BaseHTTPServer and ConfigParser server-side.
 * Use `export $(wget http://server/config/ram=rrr&mac=mmm&ip=iii...)` on the client side on 5-6 different phases: initramfs, boot, login, logout, shutdown... Check if this also covers the ltsp-cluster needs, so that it can be removed from the client code.
 * Document all lts.conf options inside the code, in javadoc/doxygen style. Generate the configuration man page on build time. Deprecate the ltsp-docs package.

New configuration file syntax
Configuration files live in /etc/ltsp/config.d/00-name. Packages can drop files there. Defaults would be around 20-, normal user files around 50-, and overrides around 80-.

The syntax is described in http://docs.python.org/dev/library/configparser.html, except for the following two differences:
 * The section names can have variables and conditionals. For example, [RAM > 500] would mean "apply this section if the client RAM is more than 500 MB.
 * There's a special INCLUDE=section1,section2,section3 option available, that replaces the LIKE directive of lts.conf. That INCLUDE option is not recursive though, it's only 1 level deep (lts.conf didn't even support overrides there so we're not missing anything).

An example: