Add query property to threshold alarms.

Heat had fallen behind the evolution of the Ceilometer API.  The full
generality of the Ceilometer API for creating alarms was not available
through Heat templates.  In particular, the template author could
stipulate only matching metadata in the query for Samples; other very
interesting attributes, such as resource_id, could not be referenced
in alarm properties.

This change introduces a new property for OS::Ceilometer::Alarm,
namely "query".  The template can now specify a query property instead
of a matching_metadata property, and can thus reference anything that
can be referenced in a Ceilometer query.

The old matching_metadata property remains, and its constraints on
which samples to accept are combined with those from the query (if
any).

Note also that the python-ceilometerclient has a lot of backward
compatibility logic --- including accepting matching_metadata.  This
change adds all that logic into OS::Ceilometer::Alarm, so that it
becomes a proper client of the current Ceilometer API.

Closes-Bug: #1326721
Change-Id: I0667db868c6f827867a5a20e4a3fa22fcad1a6a1
Merge "Add query property to threshold alarms."