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
We'll need to either contributey change back to Pester or put our own fork up on aspnet. It's a pretty minor change, I can look at having it integrated if you're up for it