Add quota support to Openstack Tenants

Adds support for collecting and storing openstack quota details form various openstack services.

* Adds STI to tenants to support authentication records for tenants
* Adds `cloud_resource_quotas` table and models
    * with STI to support OpenStack specific quotas
* Updates Openstack inventory collection
    * fixes the way that openstack tenants were collected
    * collects quotas based on services and tenants
        - e.g., in Tenant "ABC", the "compute" service allows for 30 vCPUs

Caveats:

* Currently, the Fog library only supports getting quota values based on Tenant.  There's no way to get quota values for specific users through Fog.  This means that Openstack Administrators can only manage quota values available to ManageIQ via the Tenant quota settings, and not the specific quota values associated with the tenant admin user.

This can either be merged as is (after the reviews), or wait until additional support for tenant authentication records is complete.  We can discuss that in the feedback for this PR.

@Fryguy, please review
I'm sorry it I'm rehashing design considerations that have already been considered but -
wouldn't that be better implemented at the EMS level? Then the scope of management could be defined as 1 EMS per n tenants, where n>=1.

Unfortunately, I've encountered issues where tenant information isn't returned for given objects (could be Fog, Cinder or Swift issues, I haven't determined). This forces me to iterate through the tenants visible to the current EMS - given the refresh operation is performed at the EMS level.

I can iterate through the tenants associated with the EMS, but it will be more expensive. Does it also imply that objects associated with newly discovered tenants won't be discovered until credentials are assigned to the new tenants?

Anyway, after your pr is merged, I'll rebase and see how things fall out.