Transform the xdg-desktop abstraction for dconf

Upstream is dumb, and nothing takes into account the fact
that you might want to use a DCONF_PROFILE other than "user",
and thus would need access to read said profile out of
/etc/dconf.  So we transform xdg-desktop to allow read access
to everything below /etc/dconf, and while we're at it, make it
aware of the fact that XDG_CACHE_HOME can, like, point to other
directories.  (Trac: #1505)