Refine Lisa framework to make it supports NonSUT VM role in XML file

To support having VMs acting as NonSUT VM role (the VM is required by
the test as a dependency, but Lisa will not run any test cases on this
VM, for example the Tcping target VM of the Tcping test), the Lisa
StateEngine script was modified to add a WaitForDependencyVM  state for
SUT VM.
The NonSUT VM's states are: SystemDown->RunSetupScript(if preStartConfig
is defined in the XML VM
section)->StartSystem->SystemStarting->SystemUp->RunPreTestScript (if
postStartConfig is defined in the XML VM section)->Finished.

If NonSUT VM role is defined in the XML, the SUT VMs will wait for all
NonSUT VMs to transit to Finished State (SUT VMs will be waiting in the
WaitForDependencyVM  state) before entering the RunPreTestScript State.