XDG Base Directory support, for locating caches, configuration, etc
Get configuration using ZEROINSTALL_PORTABLE_BASE (if set), or the platform default,
modified by any XDG_* variables which are set.
load_first system relpath search_path returns the first configuration path (base +/ relpath) that exists
from the base paths in search_path.
load_first system relpath search_path
save_path system relpath search_path creates the directory List.hd search_path +/ relpath (and
any missing parents) and returns its path.
save_path system relpath search_path
List.hd search_path +/ relpath
Get the home directory (normally $HOME). If we're running as root and $HOME isn't owned by root
(e.g. under sudo) then return root's real home directory instead.