Refactor the driver fields mapping

Refactor the driver fields mapping into classes, the idea is to have one
class per driver type (pxe, seamicro, agent, etc...). The old mapping was
hard to extend, for e.g in case of converting one of the values before
sending the request to Ironic wasn't possible (swap_mb -> swap_gb).

This patch also minimize the number of requests sent to the Ironic API
when adding/cleaning up the nodes attributes, instead of sending 1
request per attribute it will condense everything in one request to
avoid bombarding the API service.

Change-Id: Ibfd0a8051dc84740b42c2ad46dbdbe1ed00cbdf1
Merge "Refactor the driver fields mapping"