_get_xdg_config_dir(), _get_xdg_cache_dir() - Restored for conformity to the standard.

The previous change to avoid exceptions if no home directory exists broke the standard. Configuration and cache directories can be specified by environment variables independent from the existence of a home directory because they can be elsewhere. This is now possible again.

Compare http://standards.freedesktop.org/basedir-spec/basedir-spec-latest.html#variables paragraphes 2 and 8.