Fixes bug 1262255
Previously, samples for the 'instance.scheduled' meter were always
rejected with a false negative on the message signature verification.
The problem occured because certain resource metadata (such as the
block_device_mapping) in the 'scheduler.run_instance.scheduled'
notification are realized as a list of dict, and are thus similarly
encoded in the corresponding sample payload.
However the message signature computation then became indeterminate,
as the unicode representation of equivalent dicts is not guaranteed
equal (e.g. depends on insertion order in the case of hash collisions).
Now, we avoid false negatives by explicitly re-ordering insertion
into such dicts.
Change-Id: I77f7d89229518cf040608d7eb3307e2257bce07a