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
This whole comment seems out of place now, since the code part it was refering to just dissapeared, could you please take a look at it and make sure its still valid? it does not seem to me that we are doing anything out of the ordinary, moreover I dont see a UserHomeDir defined in windows speciffic code, also the code below could be outside the else (but that is just me being picky)