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 "API to check the requested power state"