Add configuration file to override any command line option

This pull request adds support for configuration files in response to #18, #71 and #68.

To use, create a .eyaml/config.yaml file that contains overrides for the long form of any command line parameter. The location of the config file can be overiden by setting the EYAML_CONFIG environment variable (useful if you have multiple puppet trees or similar).

For example, to override the pkcs7 keys:
```yaml
---
pkcs7_private_key: '~/keys/eyaml/private_key.pkcs7.pem'
pkcs7_public_key: '~/keys/eyaml/public_key.pkcs7.pem'
```

Or to override to use GPG by default:
```yaml
---
encrypt_method: 'gpg'
gpg_gnupghome: '~/alternative_gnupghome'
gpg_recipients: 'sihil@example.com,gtmtech@example.com,tpoulton@example.com'
```