WIP: Initial refactoring work.

[Not ready for merge yet, I want to add 10gen tests too.]

This commit moves all the data into params.pp and reworks the
logic to be less verbose.  I tested this with the rspec-system
tests to make sure it still installs/functions with plain non-10gen
versions.

There's some ugliness I'm unhappy with currently but the intent
of these changes were to change zero functionality so it could
be released prior to the major reworking I desperately want to do
thanks to looking at this.

The super ugliness is around pick(), we have to provide a positive
value to pick() for it to work, but we have defaults that are undef.  To
work around that I test the params default first, and only use pick if
it's non-undef.  If it's undef then we just set the interior variables in
init.pp to that undef value.

The refactoring we should do would be a/ get rid of all undef's
b/ restructure the 10gen vs non-10gen split we have around defaults
so that we create a single set of defaults that can be shared between
the two versions.  We can do it, I'm sure we just chose not to.

If we do that we can remove all the if $enable_10gen{} stuff in init.pp
and directly use the parameters, which is what I'd like to do after this
is merged.