would crash if get_home() returns None

See http://bugs.debian.org/719384 for original reports.

ATM ```get_home()``` would return None if none of the home directories current exists, even though e.g. HOME environment variable is set.
As a result os.path.join would spit out exception since it was not devised to have any opinion about None.

IMHO the logic here should be fixed and get_home should not return None even if a directory pointed to by HOME environment variable on a POSIX platform is defined