Use my_ip for neutron URL

Currently, neutron URL is set 127.0.0.1 in ironic.conf.
This patch fix this using $my_ip same as other component's URL
(for example glance).

Change-Id: I558fccc74058fcc493cbf52799fe021b12518253
Add charset and engine settings to every table

Each MySQL table requires setting a default charset and engine,
otherwise default values are used. It all worked previously because
migration scripts enforce those values to the correct ones. Since
we want to be able to generate the schema from models, those MySQL
specific parameters must be set.

This patch reuses a table_args() function that is already defined.

Closes-bug: #1351431
Change-Id: I3dafed9dfe5042fab1cff2ea029ea62c5e5cbea3
Check if boot device is persistent on ipminative

The commit 94433a2ab522d8b6ae2e2cf24de0ff723e491c45 to pyghmi added
'persistent' to the return dict of get_bootdev(). This commit is just
making use of it.

Change-Id: I724246de951c1ac94a001ebd8c83f8ef4ffa7e66
Expose {set,get}_boot_device in the API

A new /nodes/<uuid>/management/boot_device subresource added exposing
ways to the client to {set,get} the boot device for a node.

* To set a boot device:

 PUT {'boot_device': 'pxe' } /nodes/<uuid>/management/boot_device[?persistent=<bool>]

* To get the current boot device:

 GET /nodes/<uuid>/management/boot_device[/supported]

 The /supported flag is used to list all the boot devices that is
 supported for that node.

Implements: blueprint new-management-interface
Change-Id: I7ab93b95112efb69cf7b2daab6bbd925cb2d1e02
Updated from global requirements

Change-Id: I5ea2366cb7757164db8b1c8b65c8fa92cc05dc21
Merge "Check if boot device is persistent on ipminative"
Merge "Add charset and engine settings to every table"
Merge "Use my_ip for neutron URL"
Merge "Expose {set,get}_boot_device in the API"