Deprecate classes with hyphens

Puppet does not recommend the use of hyphens in class names.

This change deprecates classes with hypens and inform the users
to use the new ones. Backward compatibility is preserved.

Change-Id: Ib4ce5ec3f9354d77397d97500811ccac2a0ff395
Fail puppet-lint on warnings

Puppet-lint will now fail if there is any warnings.

Disable 'names_containing_dash' check until the remaining classes
are completely removed or we find a way to add exceptions.

Change-Id: I09c15fcfbac82904a3d90328683d8c39b1bcaf0d
Consolidate config into single file

Upstream commits [1,2] modified heat to use a single config file.
This modifies the puppet config of each component to use different
sections of the same file.

Some notes about the change:

 - each of heat-api, heat-api-cfn, heat-api-cloudwatch has indvidual
   options for bind_port, bind_host
 - heat-engine options live under DEFAULT (it does not bind to any
   ports)
 - new log_dir global
 - slight fixes to ENCRYPTION_KEY generation for new heat.conf name
 - include rspec tests for api-cfn & api-cloudwatch

Fixes bug 1214824

[1] https://review.openstack.org/#/c/39980/
[2] https://review.openstack.org/#/c/43697/

Change-Id: I7d8865a809da71696b944ab0654a1f728cd827df