Unit test of puppet hook

This test asserts the following when the puppet hook is invoked
with test data:
- Expected FACTER_* env variables are set
- Puppet is invoked with the expected arguments
- Written output files result in output values being set
- Puppet responding with a failure returncode propagates to the
  response

Change-Id: I987c9575bd51f53054c5f8e6c332aaa60a4a8f0c
Merge "Unit test of puppet hook"