OpenStack - Ensure inventory is collected for all tenants.

@Fryguy @blomquisg please review.

For OpenStack refresh, ensure inventory is collected for all of the
tenants the EMS can access.

Extended OpenstackHandle to include tenant iterators.
Updated EmsOpenstack and the openstack parser to use the OpenstackHandle accordingly.
Updated spec tests and rerecorded vcr cassettes.
I think we should either move this method to private, and force external callers to use the specific service connection methods below (e.g., `compute_service` and `identity_service`).  Or, we should move the cache hit logic to this method and allow all of the specific service connection methods to simply call `connect`.

Option 2 would mean that the `connect` method would have to be smart enough to know which services can be cached by tenant (i.e., it looks like the identity service is not being cached by tenant).

I like Option 2 better, because it would centralize the cache hit logic in one place.  Rather than forcing the various specific service connection methods to know whether or not to hit the cache.  Also, it removes the same burden from external callers.  Everyone simply calls `connect` and expects the right thing to happen.