CA-139501 VM hard_shutdown & hard_reboot must wait for nothing else.

We were already allowing hard_reboot concurrent with a clean_reboot
already in progress, and the same for hard/clean shutdown, but
clean_(shutdown|reboot) would block hard_(reboot|shutdown).

Now the is_allowed_concurrently function allows hard_shutdown
concurrent with anything except itself, and allows hard_reboot
concurrent with anything but itself or hard_shutdown.

Signed-off-by: Thomas Sanders <thomas.sanders@citrix.com>
(cherry picked from commit a9816b9b549fad1e8e4169c69bbad5e9f2f3ab8e)
Whitespace: fix horrible spaces-then-tab-then-spaces indentation.

Signed-off-by: Thomas Sanders <thomas.sanders@citrix.com>
(cherry picked from commit 62393a77fa00cdc1bc798c9bc57fe73fa6413647)
CA-148772: support consoles served over Unix domain sockets

Xenopsd with libxl + upstream qemu prefers to bind consoles to
named sockets like

  /var/run/non-persistent/xenospd/consoles/VM/<uuid>

rather than anonymous localhost port numbers. Naming consoles is
a good idea because it prevents accidentally connecting to the
wrong port number.

This patch allows Xapi to connect to these Unix domain socket
consoles. Note there is still a lingering problem with upstream
qemu and XenCenter's built-in RFB client which causes the
keyboard not to work.

Signed-off-by: David Scott <dave.scott@eu.citrix.com>
Merge pull request #1977 from thomassa/trunk_hard_shutboot

CA-139501 VM hard_shutdown & hard_reboot must wait for nothing else.
Merge pull request #1979 from djs55/CA-148772

CA-148772: support consoles served over Unix domain sockets