Small refactoring
Add support for overriding default profile path and cache path
Ad support for overriding profile folder path by device module

Also add support fer getting XDG style paths and move some methods
out of the Paths class to the module level so that they can be easily
called when the class is not yet initialized or just directly called
after importing the module for convenience.
Use XDG paths for profile, data and cache
Get the profile pah from the paths module

The default path might be overridden by the device module,
 so we need to be sure whe have the correct path.