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
coding standards: public methods go before private ones