Skip central agent interval_task when keystone fails

There is a chance when ceilometer-agent-central try to trigger interval_task
but keystone is not available, then an exception is raised but not caught, the
outside oslo.loopingcall will stop calling the task function, finally leading
to the agent-central service is no longer available forever, even the keystone
is available again.

We can skip the particular interval_task when keystone is not available.

Change-Id: I0849cafadac8fb8a7670aaa4cc76dc708bdb25a1
Closes-Bug: #1287613
Ensure intended indices on project_id are created for mongo

Fixes bug 1291666

Previously, despite the clear intent of the code, the mongodb
driver failed to create indices on project_id for the meter
and resource collections, due to a index name clash.

Now, we ensure a different index name is used for the user_id
and project_id indices on each collection.

The previously missing index is created in the background to
avoid blocking other DB operations when upgrading against an
existing mongo instance with large collections.

Change-Id: Ia3c6765445f16ab9beafbd7fd9265a045814003f
Merge "Ensure intended indices on project_id are created for mongo"
Merge "Skip central agent interval_task when keystone fails"