Use partially os.tmpdir() for temp-dirs

The former implementation preferred /home/{username}/tmp on unix
which caused errors for users that had different permissions on
their tmp-folder in their home, like root as owner from a previous
sudo-command.

The new implementation uses os.tmpdir() if it is available

This fixes: isaacs/npm#3470