Changes for supporting non-HyperV hosted machines

- Added new state engine to handle machines that are not within Hyper-V
(This essentially removes all states related to VM startup/shutdown from the original state engine: StartSystem, SystemStarting SlowSystemStarting, DiagnoseHungSystem, ShutdownSystem, ShuttingDown, ForceShutdown)

- Changed lisa.ps1 script to choose state engine depending on whether
VMs are specified as being hosted in Hyper-V or not

- Update provisionLinuxForLisa.sh to install updates on Ubuntu before
proceeding

- Update ProvisionSshKeys.ps1 to support being called against non-HyperV
hosted machines

- Update RunPSScript method to add ipv4 to test parameters, if it's
specified in the machine config.