Feature #1639: Allow a VM to be migrated from the unknown state

(cherry picked from commit 9ace10e010e74f61b139c96d60b5482cb68cae1e)
(cherry picked from commit 78ea7034a3280a3411efdc64b00dcccb357cdc3e)
(cherry picked from commit 116990be2493ac74a99c86d2be2ae62cbc8bd5b7)
Feature #1639: fault tolerance hook rescheds VMs from unknown

(cherry picked from commit c5f0bc26366e93f528060b825ac4b8507cf6aef3)
(cherry picked from commit 674bacc122f61ea392e7420a83a0c2770630be16)
(cherry picked from commit f0cff9d151f41d57490ca8768f35f3b62e862b93)
Feature #1639: Change fault tolerance default options

(cherry picked from commit 908ef5f499a674019772b4a6fee17ef0c507e896)
(cherry picked from commit 03af607c7ded4abe9c51ffd07a285aab753e9bdb)
(cherry picked from commit a445d02a5086bcf9f775dc99cd3f4ec90f395051)
feature #1639: UNKNOWN VMs migrate to BOOT state. Live migrations only for RUNNING VMs

(cherry picked from commit c794a0f62f47dcb1da4639e7a47757ffc426d5c4)
(cherry picked from commit 17cf5167d41f1cd7bbb3ed6f2bddb0e13585f938)
feature #1639: Typo

(cherry picked from commit 82b4aaed559b544120600268f633a76829c0de1b)
feature #1639:  The scheduler now rescheds VMs in unknown

(cherry picked from commit 027a4ef89c7bd271db490b4a2d3f50d6c208e1b8)
feature #1639: Fix compilation issues

(cherry picked from commit 236a2f1355ca83bb0e8bf84a938b8be1093efc2f)