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.
We misunderstood, this is now solved with the latest commit - AuthDir was renamed to RuntimeDir, which is in /var/run/sddm by default. StateDir is kept in /var/lib/sddm.