Ceilometer may generate wrong format swift url in some situations

Ceilometer uses the admin URL registered in keystone to poll object store.
Usually the url is like: http://<host>:<port>, in some cases, user might
register the url like: http://<host>:<port>/v1
Ceilometer shall get the url registered in keystone and populate it to the
http://<host>:<port>/v1/AUTH_%(tenant_id)s style

Change the url population process the enhance the fault-tolerant capability
of Ceilometer

Change-Id: I3ec6ab0c330e35a2fd6bab36b8a2f43aee883b6d
Fixes: Bug 1183704
(cherry picked from commit 3d4d078)
Correctly Add support for limiting the number of samples returned (not implemeted for Hbase)

Blueprint: api-limit

Change-Id: Id053eb60674fea58b3d83b460fd0344dbc050cbf
Signed-off-by: Julien Danjou <julien@danjou.info>
(cherry picked from commit 426cd49)
api: add limit parameters to meters

Blueprint: api-limit

Change-Id: I4203973bbf5a5566a3442a467984aec59805f216
Signed-off-by: Julien Danjou <julien@danjou.info>
(cherry picked from commit b61209c)
api: add limit parameters to meters

Blueprint: api-limit

Change-Id: I4203973bbf5a5566a3442a467984aec59805f216
Signed-off-by: Julien Danjou <julien@danjou.info>
(cherry picked from commit b61209c)
mongodb: fix limit value not being an integer

PyMongo actually wants an integer and not None.
It seems that was hidden by MIM.

Change-Id: Ia3583018f841ca0387a467cd9f24c13124ab4141
(cherry picked from commit 684c400)
Merge 'limits' feature from 'master'