Use BareMetal force_nodes in HEAT Template

Uses force-nodes described in the url below to
provision particular pieces of the HEAT template onto
particular baremetal machines.

https://review.openstack.org/#/c/27824/
Adds test for updating rack with resource_class_id

when resource_class_id is already there.
See #39 (https://github.com/tuskar/tuskar/issues/39)
Fix repo location in README
Fixes issue 34 (update a ResourceClass flavor) and 43 (add max_vms attribute)

https://github.com/tuskar/tuskar/issues/34
https://github.com/tuskar/tuskar/issues/43
Fix updating racks collection on resource class

There were problems when some racks should be removed from the
resource class [1]. Now this is fixed and tests for this case are
added.

[1] https://github.com/tuskar/tuskar/issues/37
Remove stale fixme comment

The test now passes, so the comment can be removed.
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'.
Adds TravisCI config and badge

Adds basic .travis.yml with config
and Travis badge into README.rst
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.
Changes format and indents for pep8

This is changes in code formating and indentation
to comply with pep8 standard.

It follows current setting in tox.ini for pep8 (flake8).

I skipped errors like:
* F821 undefined name
* H302 import only modules
Adds irc notification for TravisCI
Fix delete of non-existing rack to return 404.

Addresses issue #22, and fixes test.
Add python-novaclient and simpleyaml to requirements (for novaclient & config)
Nova client for flavors and nova config file (temp - yaml for now)
Updates controllers to use nova flavors client where appropriate (create/delete flavor
or ResourceClass with flavor). Adds nova_flavor_uuid to Flavor model for tracking
the nova created flavors
Added python-heatclient back to requirements.txt