Add generation of GPG keys for hiera-gpg

- Add options for GPG key name and GPG key email
- Extend the ssh_runcommand task so output can be collected
- Add generation and printing of GPG key for root

NB: In order to generate enough entropy in a VM, we are installing `haveged` - that means that the entropy quality won't be quite as good as when GPG solely uses /dev/random. If you have concerns about attack via this kind of thing you probably should generate your GPG keys on a machine with more natural enropy. Read more [about haveged](http://www.issihosts.com/haveged/)

Test run:

```
WARNING: Setting up key-based auth
WARNING: Configuring machine
WARNING: Creating GPG for root with name 'Puppet Hiera Key' and email 'puppet@puppet.com'
WARNING: Exporting GPG key for root - you may need to import this into your Hiera-GPG setup

-----BEGIN PGP PUBLIC KEY BLOCK-----
Version: GnuPG v2.0.17 (GNU/Linux)

<snipped key block>
-----END PGP PUBLIC KEY BLOCK-----

WARNING: Bootstrap script exiting successfully
```