CA-121347: Fix inconsistency in HA checks

1. It's currently possible to make a halted VM, with ha_restart_priority="restart", non-agile.
2. It's not possible to set ha_restart_priority="restart" on a non-agile, halted VM.
3. It's not possible to start a non-agile VM that has ha_restart_priority="restart"
4. It's not possible to make a running VM, with ha_restart_priority="restart", non-agile.
5. It's not possible to set ha_restart_priority="restart" on a non-agile, running VM.

Point #1 is inconsistent with point #2 - #2 should be allowed.

Signed-off-by: Phus Lu <phus.lu@citrix.com>
CA-110585: Setting snapshot_time for VDI before passing it to SM during
VDI.snapshot

Issue:The vdi snapshot time was being set after SM returned from
creating vdi.

Fix: The snapshot_time is now set before it being passed to SM.

Signed-off-by: Ravi Pandey <ravi.pandey@citrix.com>
Merge pull request #1886 from ravippandey/CA-110585

CA-110585: Passing correct snapshot_time during VDI.snapshot
Merge pull request #1788 from phusl/CA-121347

CA-121347: Fix inconsistency in HA checks
CA-143836: Add VDI.revert to SMAPI

Signed-off-by: John Else <john.else@citrix.com>
NEEDS PROPER EXCEPTION CA-143836: Add VDI.revert API call

Signed-off-by: John Else <john.else@citrix.com>
Enable vdi_revert as SM op

Signed-off-by: John Else <john.else@citrix.com>