Apply standards from puppet-module-skeleton

- Don't test against ruby-head.
- Use puppetlabs_spec_helper.
- Remove manual fixtures.
- Make smoke and system tests available.
- README formatting and simple examples.
- CHANGELOG added and populated for existing tags.
- Modulefile added.
Restrict support to Ubuntu/Debian

With the right packages the same approach should work fine on EL. But we
can't support that ourselves right now.
Change how params are passed between classes

Move the param defaults (and thus documentation) to the parent class and
have the relevant sub-classes source them from that scope and validate
locally.

This is the same pattern applied to our openconnect module to workaround how
defaults behave when `undef` is passed in. More details here:

gds-operations/puppet-openconnect@50a081be5fc1cdb10c2dfc9a2ec82180b47a94bf
Replace require params with chains

Simplifies both the conditional within `rbenv::global` for `rbenv::version`
and the fact that `rbenv::global` has a relationship back on `rbenv`.

Unfortunately we can't test for these until: rodjek/rspec-puppet#106
Merge branch 'apply_module_standards'
Test :command for exec in rbenv::rehash.
Test complete command in rbenv::version

Test the entire contents of the exec command instead of portions in
different contexts. Should prevent an issue like 03df76a from slipping
through the net again.
Release version 1.0.0