Add environment variables `XBMC_USER_HOME` and `XBMC_PROFILE_USERDATA`

This adds two new environment variables that can be used to configure where XBMC stores the users XBMC home directory and where the masterprofile is stored.

 * `XBMC_USER_HOME` - Allows the location of the `~/.xbmc` directory to be configured.
 * `XBMC_PROFILE_USERDATA` - Allows the location of the masterprofile `userdata` directory to be configured.

This brings the special directories in line with the temp directory, in the sense that they are all configurable by environment variables.

If the `XBMC_PROFILE_USERDATA` variable is not defined but the `XBMC_USER_HOME` is, then the userdata directory will be located in `$XBMC_USER_HOME/userdata`.