Parse hashes to support deep interpolation

`Hiera::Backend` supports recursively parsing Hashes: https://github.com/puppetlabs/hiera/blob/master/lib/hiera/backend.rb#L137-L144

The module-data backend should support that, too. This was motivated by the desire to have string values inside nested hashes be interpolated, e.g.

```yaml
---
ruby::version::env:
  Darwin:
    BOXEN_S3_HOST: "%{::boxen_s3_host}"
```

cc @wfarr