Make tilde expansion work on Windows

* use Home() to return users home on Windows as well
* only match strings starting with tilde
* fix tests on Windows
UserHomeDir() is not really platform specific. We need to avoid user.Current() on windows as well now, so we can patch it during tests. That's why I removed that bit. The comment is stil relevant as we still use Home() instead of user.Current().Home. I can remove the TODO, but as of yet, the tests are still not fully working on Windows. :)
 
The getHomeDir() function does have windows specific stuff to get the home dir of a different user. Unfortunately, Go cannot get the home directory of a different user using user.Lookup(). So I had to get it from the registry.