Fix typos
docs and license fixes
Use proper exceptions for loading problems
Fix indentation.
Use XDG directories for configuration/caching/user data on linux.

Next step: Windows.
Re-add Windows path handling.

Nothing has changed here in comparison to pre-XDG handling, as
Windows does not have XDG.
Move stuff from ~/.smc to new paths when that directory is detected.

This is a compatbility function that should be removed after
some time. Note that the old ~/.smc gets removed on SMC start!
Merge branch 'restructure-runtime-dirs' into devel. Closes #67.

Attention: SMC will convert your ~/.smc into the new folder structure
outlined in #67 and then delete it!

Attention: The force_user_dir option has been removed. If you urgently
want to use nonstandard user directories, use the XDG environment variables
to achieve this.