Add support to optionally launch the heat service.

This allows the heat service to be started as a devstack service.

Heat is disabled by default, and can be enabled with this in your localrc:
ENABLED_SERVICES+=,heat

There is now a repo of heat-enabled images here:
https://github.com/heat-api/prebuilt-jeos-images/downloads

These can be added to the IMAGE_URLS in your localrc.

After devstack is launched, a template can be invoked with:
nova keypair-add --pub_key $HOME/.ssh/id_rsa.pub heat_key
heat -d create wordpress \
--template-file=../heat/templates/WordPress_Single_Instance.template \
--parameters="InstanceType=m1.tiny;DBUsername=wpuser;DBPassword=wppassword;\
KeyName=heat_key;LinuxDistribution=F16"

Change-Id: I07591295eb2b9eb7868b1577dd3c24b19812a689
diff --git a/stack.sh b/stack.sh
index e6576e0..910c387 100755
--- a/stack.sh
+++ b/stack.sh
@@ -2,7 +2,7 @@
 
 # ``stack.sh`` is an opinionated OpenStack developer installation.  It
 # installs and configures various combinations of **Glance**, **Horizon**,
-# **Keystone**, **Nova**, **Quantum** and **Swift**
+# **Keystone**, **Nova**, **Quantum**, **Heat** and **Swift**
 
 # This script allows you to specify configuration options of what git
 # repositories to use, enabled services, network configuration and various
@@ -241,6 +241,7 @@
 # Get project function libraries
 source $TOP_DIR/lib/cinder
 source $TOP_DIR/lib/ceilometer
+source $TOP_DIR/lib/heat
 
 # Set the destination directories for openstack projects
 NOVA_DIR=$DEST/nova
@@ -787,6 +788,9 @@
     # quantum
     git_clone $QUANTUM_REPO $QUANTUM_DIR $QUANTUM_BRANCH
 fi
+if is_service_enabled heat; then
+    install_heat
+fi
 if is_service_enabled cinder; then
     install_cinder
 fi
@@ -827,6 +831,9 @@
     setup_develop $QUANTUM_CLIENT_DIR
     setup_develop $QUANTUM_DIR
 fi
+if is_service_enabled heat; then
+    configure_heat
+fi
 if is_service_enabled cinder; then
     configure_cinder
 fi
@@ -1945,6 +1952,11 @@
     $NOVA_BIN_DIR/nova-manage db sync
 fi
 
+# Heat
+# ------
+if is_service_enabled heat; then
+    init_heat
+fi
 
 # Launch Services
 # ===============
@@ -2142,6 +2154,10 @@
 is_service_enabled swift3 || \
     screen_it n-obj "cd $NOVA_DIR && $NOVA_BIN_DIR/nova-objectstore"
 
+# launch heat engine, api and metadata
+if is_service_enabled heat; then
+    start_heat
+fi
 
 # Install Images
 # ==============