sp: split metadata transaction in createMaster

This patch splits the createMaster metadata transactions in two parts:
one part related to the pool metadata initialization (with safe default
values) and the second one related to the domain metadata (including
role, masterVersion and attached pool).

The reason to split the two operations is to encapsulate the storage
pool metadata into methods that later on can be moved out of the
StoragePool class.

Removing the previous transaction is not risky as the pool metadata
values are safe defaults and the real commit phase is executed in the
domain metadata transaction. The two side effects of this change are:

- we always initialize the pool metadata even when the domain metadata
  transaction fails
- the createMaster operation takes now two storage operations instead
  of one

Change-Id: I3b22af92b1f9a481be9af844b1acc47ae513d078
Signed-off-by: Federico Simoncelli <fsimonce@redhat.com>
Reviewed-on: http://gerrit.ovirt.org/22418
Reviewed-by: Ayal Baron <abaron@redhat.com>