Added 'update_stack' method to Heat client

This patch also move the 'deploy' operation to DataCenter
'create' operation, so in order to update the overcloud stack
you need to: POST /v1/data_centers/

As a result, you should get back the JSON serialization of update
Heat template.
Set the Rack state to 'provisioned' when registred to Heat
Added 'get_stack' and 'get_template' to Heat client

- Exceptions are now logged into boto.log
The 'update_rack_state' method now accept the Heat status

The 'rack' state is now set properly based on the Heat stack
state.
Poll for the Heat stack state when accessing Racks

This patch will allow the Rack state to be set to 'provisioning'
and then instead of setting it to 'provisioned' right after
the Heat update_stack is called it will check the Heat stack
state everytime you access the Rack.

Once it found the Rack with state set to 'provisioning' and the Heat
update is completed, it will change the state to 'provisioned'.
Replaced 'boto' with 'python-heatclient'

WARNING:

The OS_AUTH_URL needs to be set in heat/client.py, we should
move it into configuration soon.
Merge pull request #53 from mfojtik/update_rack_state

Updating Heat stack and switch from boto to python-heatclient