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 can see two approaches here:

1. We demand certain services to be running.  If they're not running we fail on EMS setup in the UI, so it's painfully obvious to the ManageIQ admin.
2. We degrade support for the specific Openstack installation.  This is trickier both in the implementation and in the presentation, but probably provides the better user experience

It might be good to start with option 1, then later implement support for option 2 when we can better react to limited services.  But, even option 1 requires fixes that are not currently in place.  Namely, alerting the ManageIQ admin that the openstack installation is insufficient and then proactively failing to create the EMS record.