Fix SQL exception getting statitics with metaquery

In the scenario with mysql as storage backend, when getting statistics
with metaquery, sqlalchemy will raise an exception of "Unknown column
'sample.id' in 'on clause'", this is because of a wrong usage of JOIN
clause.

Change-Id: I6f140952082ab245f27d576ee9629a086104f8b1
Closes-bug: #1332673
Implement consuming ipmi notifications from Ironic

This borrows heavily from the compute notifications code. The basic
idea is that there are few classes of samples that can be had
(Fan, Temperature, Voltage, Current). Within these are potentially
multiple individual sensors and values. In all cases the volume and
unit of a sample can always be extracted from the value of a
'Sensor Reading' key. The volume is cast to a float. If the value
is 'Disabled' the data is dropped.

Each subclass exists to allow flexible handling via stevedore, but
all activity is performed in the superclass.

The supplied good test data is the currently blessed sample from the
Ironic team. The bad test data tickles either skipping missing data or
producing warnings in the log.

Identifier and name construction is worth a close look because this
is an area of frequent discussion:

* resource_id is composed from node_uuid and sensor id
* meter name is based on the class name and is generic, only
  paired with a resource_id does it identify a specific sensor
* unit is parsed out of sensor data and mapped to SI units

Change-Id: Ie7ac92aebb45fc23d6134b4d6693f8a1e4d4ea40
Implements blueprint ironic-notifications
Merge "Implement consuming ipmi notifications from Ironic"
Follow up fixes to network services pollsters

This is a follow up commit addressing comments around
minor clean up, fix resources variable to set to empty
list instead of None and others.

Change-Id: Ied9edd356d59f0cdccde45040897018228df2d20
Merge "Fix SQL exception getting statitics with metaquery"
Merge "Follow up fixes to network services pollsters"