Same Storage connected to multiple datacenters corrupts data

https://bugzilla.redhat.com/show_bug.cgi?id=936238
https://bugzilla.redhat.com/show_bug.cgi?id=942068

In our vCenter enviornment we have the same storage connected
to multiple datacenters. e.g. Thecus-N7700 is connected to 3 datacenters
Datacenter   ems_ref             location
Dev         datastore-23856     4f3bfdf8-a67ee163-f50b-0010187f00da
Prod        datastore-22781     4f3bfdf8-a67ee163-f50b-0010187f00da
Yoda        datastore-112796    4f3bfdf8-a67ee163-f50b-0010187f00da

They all point to the same location, so when we update the storage table
based on location we corrupt the ems_ref and during provisioning the
ems_ref that is sent over points to the incorrect datacenter and the
provision fails.
This fix tries to update storage rows based on location and ems_ref.