Added type definitions for openstack heat templates.
Added top level function Heat for declaring a heat template
Separated type generation out into two classes - now that it sort of works, it needs to be consolidated some - too much copy-paste

TODO:
Need to make sure that the generated heat templates will validate against heat
Need to make sure that cf templates are still valid.
added device encryption options
Merge branch 'master' of github.com:howech/cfndsl into eval-context
minor tweaks to the openstack definitions
Added some command line options to affect the behavior of cfndsl.

Added a mechanism to pass external variables into the cfndsl temmplate. This
is primarily motivated by the fact that Heat does not yet support Conditional
resources, but its usefulness is not limited to that. The other main case I
see for it is passing in sets of ami for dynamically building up region-ami
maps in situations where you find yourself periodically burning and deploying
new sets of amis on a regular basis.

I also moved the guts of the eval block into the CfnDsl module in case you need
to duplicate the evaluation process in a non-command line evironment.
Merge pull request #60 from josephglanville/master

Add some missing properties of numerous resources
Merge pull request #58 from howech/master

Add some nominal support for Openstack Heat
Merge branch 'master' into eval_parameters

Conflicts:
	lib/cfndsl.rb
Merge pull request #59 from howech/eval_parameters

Added some command line options to affect the behavior of cfndsl.
Add support for ConnectionDrainingPolicy