Update EMC SMI-S iSCSI Driver

Refactor EMC SMI-S based iSCSI driver.  There are lots of common code
that can be shared between iSCSI and FC drivers using SMI-S.  Break
the original emc.py into two files: emc_smis_common.py and
emc_smis_iscsi.py.  Also added support for get_volume_stats() and
create_cloned_volume().  get_volume_stats() will be revisited after
winston-d's changes.  copy volume<->image will be revisited after
avishay-il's changes.

Change-Id: I90dc3599ec2fd5bb86a3e988111a8aee5de7efea
Get updated vol status in volume.api.reserve.

A race condtion was discovered where a nova volume attach
could easily be performed twice for the same volume.  Although
the cinder attach update would fail, this occured after the BDM
updates were made and in essence the attach to the compute instance
had already been issued.

This change simply forces a get from the DB of the volume-ref in the
reserve call and checks if an attach is already in progress.

Fixes bug: 1096983

Change-Id: Ie0e4156d691ee92b6981078ef0ba62f8c4cdf0c8
Fix hosts extension and enable its tests

This patch corrects the import in hosts.py, fix the DB API
service_get_by_host_and_topic raises ServiceNotFound exception with
right parameter and move tests to the right place so that they are
enabled.

Fix LP bug: #1104231

Change-Id: I07c486f456196a3812eb5274b950ab9560a51cf3
Merge "Get updated vol status in volume.api.reserve."
Merge "Update EMC SMI-S iSCSI Driver"
Merge "Fix hosts extension and enable its tests"