Rewrote the config to a more rigid state

Resolves sddm/sddm#39

More configuration instances now available. Every instance is a separate class.

Sections are supported.

Serialization handled in a more sensitive way - does not remove comments.

Type handling is unified, using the QTextStream shift operators.

Probably the most overengineered configuration parser you've ever witnessed.
Because it was changed by commit https://github.com/sddm/sddm/commit/ba44599fb1ff132671e3400688798d3120ea452d