Allow arbitrary YAML config

By passing a string to the `extra_config` parameter you can add a custom fragment to the end of the config file.

We use this to configure the [gpg backend](https://github.com/envato/hiera-gpg), for example:

```puppet
class { 'hiera':
  backends => ['gpg', 'yaml'],
  extra_config => '
:gpg:
  :datadir: /etc/puppet/environments/%{::environment}/hiera
  :keydir: /var/lib/puppet/gpg'
  # ...
}
```