Allow configurators to be used as context managers

Since configurators have commit and rollback, they are the perfect
candidate for being used as context managers.

Before:
    configurator = Ifcfg()
    try:
        b = Bond(bonding, configurator, options, nics,
                 mtu, NetInfo(), implicitBond).configure()
    except:
        configurator.rollback
        raise

After:
    with Ifcfg() as configurator:
        Bond(bonding, configurator, options, nics,
             mtu, NetInfo(), implicitBond).configure()

Change-Id: I2c07aa23d637ad3ae8a8b5ce455e67b163338ca8
Signed-off-by: Antoni S. Puimedon <asegurap@redhat.com>
Reviewed-on: http://gerrit.ovirt.org/18412
Reviewed-by: Assaf Muller <amuller@redhat.com>
Reviewed-by: Giuseppe Vallarelli <gvallare@redhat.com>
Reviewed-by: Mark Wu <wudxw@linux.vnet.ibm.com>
Reviewed-by: Dan Kenigsberg <danken@redhat.com>