Add automated tests for kvm.ps1

Added a bunch of automated tests using [Pester](https://github.com/Pester/Pester).

Note: I needed to patch Pester to write marker strings to stdout for TeamCity to read (as per https://confluence.jetbrains.com/display/TCD9/Build+Script+Interaction+with+TeamCity). The patch is in a personal fork of Pester.

It's all integrated into the makefile, so it works on the CI and reports detailed test failure information to the Tests tab for the build on TeamCity.

There are a couple scenarios that are not covered (they involved a lot more machine-level config I didn't want to mess with in automated tests):
* Installation of kvm.ps1 itself
* kvm use -persistent
No, but the entire test pass takes place in a separate environment (the "USER_KRE_PATH" and "GLOBAL_KRE_PATH" environment variables override kvm's default paths) which is destroyed after the test (I actually disabled the clean-up temporarily but I'll put it back in). So any aliases created here are stored in that temporary working directory, not in AppData