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
Merge "Sync config module from oslo"
Merge "API to check the requested power state"