Heat: Added optional components to nova/neutron controller

This patch will add the support for heat cloudformation and for
heat cloudwatch in the foreman installation based on the boolean
variables $heat_cfn and $heat_cloudformation that when set to true,
will install the components.
Change optional Heat parts params from CHANGEME to false

Also remove trailing comma that caused syntax error.
heat_controller puppet class to reduce code duplication

Move common Heat code from Neutron-based and Nova-Network-based
controller classes to a common class which is then included.
Use str2bool for vars in Heat optional part conditionals
Fix typo in included class name
Merge pull request #16 from jistr/heat_optional_services

Heat optional services
Fix public/internal service endpoints in Keystone catalog

Point the endpoint URLs to correct public and private addresses
according to this guide:

http://docs.openstack.org/security-guide/content/ch021_paste-and-middleware.html
Extract Ceilometer parts of controllers into its own manifest

Move Ceilometer related parts of controller classes into
ceilometer_controller.pp and include that class it in controller
classes.
Fixme note about MongoDB setup being insecure
Merge pull request #17 from jistr/fix_endpoints

Fix endpoint URLs, extract Ceilometer
Add load-balancer manifest and host group

This patch adds the quickstack::load_balancer class which will deploy
haproxy to load-balance the OpenStack API services. This class must be
passed both the public and private virtual IP addresses, as well as a
comma-separated list of backend server addresses and hostnames.
Add mysql_host and qpid_host parameters

This patch allows the addresses for both mysql and qpid servers to set
independently of the controller private IP address. This provides
greater flexibility. For example, if the controller, mysql and qpid
servers had different virtual IP addresses. Note that the default
value will still be the controller private IP address, so unless these
new parameters are overridden there is no change in behavior.
Merge pull request #18 from rohara/devel

Add load-balancer manifest and host group
Fix typo in nova compute manifest
Merge pull request #19 from rohara/devel

Fix typo in nova compute manifest