only mock $ENV{HOME} if there actually is one

This commit fixes some test munging which caused tests of the plugin to hang on windows. Specifically: On Windows $ENV{HOME} tends to be empty, and creating the entry causes msysgit to hang when pushing.

Implementing this change caused push_multi.t to fail in this manner on my system:

    t/push-multi.t .................. fatal: You are pushing to remote 'another', which is not the upstream of
    your current branch 'master', without telling me what to push
    to update which remote branch.
    # Looks like your test exited with 128 before it could output anything.
    t/push-multi.t .................. Dubious, test returned 128 (wstat 32768, 0x8000)
    Failed 7/7 subtests

Does this mean anything to you?