Synced jsonutils from oslo-incubator

The sync includes change that makes sure we get unicode-only dicts from
jsonutils no matter which json module implementation is selected.

The latest commit in oslo-incubator:
- 0f4586c0076183c6356eec682c8a593648125abd

Change-Id: Ic815ca3df94c33edec9104172048b2cd94b92e3f
Closes-Bug: 1314129
Use TYPE_GAUGE rather than TYPE_CUMULATIVE

For hardware network bandwidth metering, it uses TYPE_CUMULATIVE, but
the oid "1.3.6.1.2.1.2.2.1.5"(in file ceilometer/hardware/inspector/snmp.py)
it walks in net-snmp.org is representing ifSpeed and the type is GAUGE.

Cumulative definition: Increasing over time, but when i run
`ceilometer sample-list --meter hardware.network.bandwidth.bytes`
the output is not increasing over time.

reference:
http://docs.openstack.org/developer/ceilometer/measurements.html
http://www.net-snmp.org/docs/mibs/interfaces.html

Change-Id: Ic8a8280695c25db103fe4e4592fe00622728655d
Closes-Bug: #1326723
Adds caches for image and flavor in compute agent

Currently to obtain image and flavor data,
compute agent always calls nova api, even for the same id of image/flavor.
In order to reduce the number of nova-client call, caches for image and flavor
are introduced.

The caches only live in a local scope of _with_flavor_and_image: created every
single polling interval and thrown away at the end of the interval.
Although the caches only live in a short time, they are effective because same
flavors are used many times in one compute-node in typical use cases.

Change-Id: I63b6a59f06be4911f39073e34cfc3a2a7b832c51
Closes-bug: #1293337
Adding alarm list filtering by state and meter

Adding alarm list filtering by state for SQLAlchemy, PyMongo and
HBase drivers
Adding alarm list filtering by meter only for SQLAlchemy and PyMongo
drivers.

Closes-Bug: #1224298

Change-Id: I393e2988142878d33363438671c240199ede65a4
Revert "Fix the floatingip pollster"

This reverts commit 8057b66c0b7ac87863f175d850414bc0ed260ab2.

This is spamming the nova-api logs in tempest runs.

Change-Id: Iafe20bbab45bff62470374eba2a6e0e4fa3be611
Closes-Bug: #1328694
Fix incorrect trait initialization

Currently, when we try to get trait, the api service uses storage
data to directly initialize the trait model. However, the trait class
init method expects value field as wsme.text type, while in storage,
it could be int, float, or datetime. So, end user will get 400 error
in such scenarios.

The static method _convert_storage_trait() in Event class can convert
a storage trait data to api trait object, we can use it to fix this
bug. Also, this method should be in Trait class instead of Event class,
This patch does this refactor too.

Change-Id: Ia7bf667967a31a3cc6e8d457f3b6330ffc728471
Closes-Bug: #1324523
remove default=None for config options

In the cfg module default=None is set as the default value.

Change-Id: I65786401354e5fb966339cbdb4a76f5f628b8d6f
Closes-Bug: #1323975
Merge "Revert "Fix the floatingip pollster""
Downgrade publisher logging to debug level again

https://review.openstack.org/#/c/33448/ changed those strings from
LOG.debug to LOG.audit without a good explanation. I assume that
this was a temporary change to ease debugging. Since LOG.audit
are spamming syslog and this is logged every few seconds, this
is too much churn and it doesn't provide a useful information for
"audit" level. LOG.debug is a saner choice. Also remove
translation.

Change-Id: I772cc578c39f5c84a5fa68f3567aac54ecc03264
Merge "Adds caches for image and flavor in compute agent"
Merge "Use TYPE_GAUGE rather than TYPE_CUMULATIVE"
Merge "remove default=None for config options"
Merge "Adding alarm list filtering by state and meter"
Merge "Downgrade publisher logging to debug level again"
Merge "Synced jsonutils from oslo-incubator"
Merge "Fix incorrect trait initialization"