core: prevent maintenance when domain is still in use

A domain is effectively in maintenance only when all hosts of the pool
are not accessing it anymore (domain monitoring).
This patch adds a new state, PreparingForMaintenance, used while we wait
for all the hosts to stop monitoring it.
Most of the operations on the storage domain must be prohibited in the
PreparingForMaintenance state: it is only allowed to re-activate it.

Change-Id: I55cd5aa6a6dc32f374a4bb21b159d3cb30da65f5
Signed-off-by: Federico Simoncelli <fsimonce@redhat.com>