Quick and dirty automated puppet setup

This uses user-data => CloudInit integration to hook up puppet
manifests.

This is hooking puppet-related logic within an otherwise generic tool.
It's ok for now, but going forward I'd rather have it as some sort of
external plugin.