Software config hook to provision using puppet

Deployment input values are mapped to facter variables by setting
FACTER_<input name> shell environment variables.
Manifests can write output values to $heat_outputs_path.{output_name}
These output values will be signalled back to heat, making these
values available to the stack, and placing that deployment resource in a
COMPLETE state.

The example template demonstrates deploying a single config with more
that one deployment resource, each with different input values.

Closes-Bug: #1279067

Change-Id: I28057eaa478b0a480f09604c177a72f3c45d7c53