vm: simplify the shutdown exit reason

A VM could be cleanly shutdown in two ways,
either from inside (user shutdown) or from engine
(admin shutdown).

In turn, the shutdown process can involve various
shutdown methods (guest agent, acpi, forced).

Currently we use a couple of booleans to detect
all the various cases, but this is clumsy and
some paths aren't well covered, so wrong states
may be reported.

This patch simplify the reporting by adding an
explicit, private, 'shutdownReason' field.

The main reason for the cleanup is to fix a wrong
exit reason reporting.
Previously, USER_SHUTDOWN was incorrectly reported
instead of ADMIN_SHUTDOWN. This patch fixes this.

Bug-Url: https://bugzilla.redhat.com/557125
Change-Id: Id03e38fe897d3b36fa7fedc016c2420f67d28385
Signed-off-by: Francesco Romani <fromani@redhat.com>
Reviewed-on: http://gerrit.ovirt.org/31902
Reviewed-by: Dan Kenigsberg <danken@redhat.com>
Reviewed-by: Yaniv Bronhaim <ybronhei@redhat.com>