Implements send-data-to-ceilometer

This patch will define the sensor data collection interface and implement
a driver based on IPMI to collect sensor data and send them to Ceilometer.

The change covered by this patch:

1. Creates a new ironic.driver.base.ManagementInterface common method
*get_sensors_data* for gathering hardware sensor data.

2. Implements the interface into 'ipmitool' driver to gather data via IPMI
command call.

3. Adds periodic task to conductor which emits notification to Ceilometer by
an interval.

Spec: https://review.openstack.org/102435

Change-Id: I2c072321a662db0162c938b7d4f3b59ba07d4e08
Implements: blueprint send-data-to-ceilometer
Fix not attribute '_periodic_last_run'

The ConductorManager class wasn't calling __init__ from
its parent object, causing an AttributeError exception
to be raised when accessing the attribute _periodic_last_run.
This attribute was initialized in the PeriodicTasks class.

Change-Id: Ieb850bf448f4b04be33c2cfecbac2de5925d6fda
Closes-Bug: #1351114
Merge "Implements send-data-to-ceilometer"
Merge "Fix not attribute '_periodic_last_run'"
Remove dbapi calls from agent driver

This commit removes dbapi calls from the agent driver in favor
of using objects. It also cleans up the object code a bit, and
adds some test objects to ironic.tests.objects.utils.

Closes-Bug: 1351329
Change-Id: I0b29654d0010386a4a08279cd0228090f2f02a45
Merge "Remove dbapi calls from agent driver"