agent: store metadata on storage domain, sync with sanlock

Instead of requiring an additional shared storage location to hold the
agent metadata, store it on the storage domain holding the engine vm.
Sanlock is used to assist in coordination of the storage and guarantee
host_id uniqueness amongst hosts.

A new directory named 'ha_agent' will be created on the storage domain
by the ha setup package.  Two files reside within, one for the lockspace
(named 'hosted-engine.lockspace') and one for the metadata (similarly
named 'hosted-engine.metadata').

The metadata file is shared by all hosts participating in the engine
high availability cluster.  Each host is assigned a 4KiB chunk according
to its host id, with a corresponding offset of host_id*4KiB.  The
initial 4KiB of the file are reserved for shared state such as a global
engine ha maintenance bit.

Change-Id: I9f09e736f6556c0bf9a435d3a88035d9dbd53883
Signed-off-by: Greg Padgett <gpadgett@redhat.com>