Initial implementation of HEAT CFN client and Template registration

This patch adds support for connecting to Heat using:

from tuskar.heat.client import HeatClient as heat_client

heat_client().method

Also update the #index action in DataCenter controller to support
template validation and registration.
Added 'boto' to list of requirements
Create example datacenter.

This changes the sample_data to describe an example datacenter, allowing for use
in provisioning via HEAT once that piece of integration is comeplte.
Merge pull request #42 from jguiditta/docs

Add checklist to CONTRIBUTING.
Merge pull request #36 from mfojtik/heat

Initial implementation of HEAT CFN client and Template registration
Merge pull request #41 from jguiditta/sample_data_center

Datacenter description
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)
Merge pull request #49 from petrblaho/test_for_rack_update_with_resource_class_id_issue_39

Adds test for updating rack with resource_class_id when resource_class_id is already there.
Merge pull request #46 from mtaylor/update_template_generations

Use BareMetal force_nodes in HEAT Template
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.
Merge pull request #51 from marios/Issue43_max_vms_Issue34_update_flavor

Fixes issue 34 (update a ResourceClass flavor) and 43 (add max_vms attri...
Merge pull request #47 from jistr/ftr/racks_collection_update_fix

Resource class update fix (rack collection)
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.