Provisioning via Heat

A work in progress change. Seems like basic provisioning, scaling,
adding floating IPs, cinder volumes, rollback works.

Heat Template for Hadoop cluster now looks as is follows:
http://paste.openstack.org/show/54693/

TODOs which will be done in separate CRs:
 * Extract common part of instances.py and instances_heat.py
   https://bugs.launchpad.net/savanna/+bug/1259170
 * Add Anti-Affinity feature to Heat engine
   https://bugs.launchpad.net/savanna/+bug/1259172
 * Add Nova Network support
   https://bugs.launchpad.net/savanna/+bug/1259176
 * Add more unit tests to heat engine
   https://bugs.launchpad.net/savanna/+bug/1259174
 * Make sure CI works with the Heat engine turned on
   (Not CR for that, will be done manually soon)

Co-Authored-By: Alexander Ignatov <aignatov@mirantis.com>

Change-Id: I679ad4afa9f27c3c9ea69ac046a5629a11d6e190
Merge "Provisioning via Heat"