Sync config module from oslo

Add 'config' to openstack-common so that it syncs from Oslo,
move tools/conf -> tools/config to be able to sync from Oslo,
and then sync the changes which are proposed in oslo-incubator
commit Iee6cc05cad70963f2a151f595ac376c9338f5774.

Change-Id: I32a80b0e2aa0e26b9fc78b7546c07e102639374e
API to check the requested power state

API to make a sanity check on the requested power state, before the API
was just passing whatever state requested by the user via RPC to the
conductor and it would fail there in case the state request wasn't valid,
giving a late feedback to the user and wasting resources.

As the same check is done on the provision method, a new exception was
created to reuse the exception message.

The patch also update the docstrings of the power() and provision()
methods to reflect the exceptions they might raise.

Change-Id: I47f957f738ef922b01b2c604180d8b6efe20ce8c
PXEAndSSH driver lacked vendor_passthru

Add vendor_passthru interface to PXEAndSSHDriver
to allow PXE-based deploys to continue.

Change-Id: Ief087f75b0b6975ed2b461f46cddcc9067316efe
Closes-bug: 1268066
Merge "Sync config module from oslo"
Merge "API to check the requested power state"
Implement consistent hashing of nodes to conductors

Implement the consistent hashing of nodes to conductors.

Implement automatic routing of RPC messages from the API tier to the
conductor tier, by using the consistent hash ring.

Improves _sync_power_states to only check the nodes mapped to that
particular conductor.

Add a stub for a rebalance method which can trigger certain actions by a
conductor when a node is mapped to it by changes in the hash
distribution.

blueprint instance-mapping-by-consistent-hash

Change-Id: Ib74a8ded49e4a85964c46d4a445ff0a2df39862a
Merge "PXEAndSSH driver lacked vendor_passthru"