Refactor to use mysql::globals.

This initial round of work focuses on adding the concept of
mysql::globals to the module.  This is a shared place to provide all the
data the module needs, and then clients, servers, and providers can all
rely on this information to set things up.

This is being primarily used at first to allow a default_options hash
that contains all the previous parameters and takes a overrides_options
that allows you to then further customize any of the options in my.cnf.
Add mysql::globals and refactor mysql::server.

This work adds a new mysql::globals class which contains a hash used to
build my.cnf from.  It's used to share this data across multiple classes
so that the client and server can share this data.

End users can modify content in my.cnf by including mysql::globals and
passing in override_options as a hash that looks like:

override_options = { 'mysqld' => { 'max_connections' => '120' } }

This completely replaces the mess of parameters that existed in the main
mysql class before.

Completely refactor mysql::server and rework the API.  This changes
ordering, changes from execs{} to mysql_user for the root password,
removes some functionality (like the etc_root_password), and generally
makes some tough decisions about how mysql::server should be built.
Deprecate this class while attempting to provide backwards
compatibility.
Add all the distribution specific params and other defaults not related
to the hash used in mysql::globals.
Add a new function, mysql_strip_hash()

This is used in the backwards compatibility code in init.pp.
Rework the mysql::bindings to be less complex.

This removes all the internal class parameters and shrinks these classes
to be more straightforward, relying on the values set in bindings.pp.
Various adjustments to classes to align with refactored work.

Handful of changes here, such as removing flush (so that mysql_user
can be used for root password changes) and other tweaks here.

Add time option to mysql::backup.
Rework templates to rely on the new hash and become vastly less complex.
Rework the documentation to align with the new refactored module.
Rewrite spec tests to account for changes.
Fix spec tests on ruby 1.8.
Add two new sections for additional details.

Add a backwards compatibility section and a conf.d section.
Merge pull request #258 from apenney/refactor

Completely redesign the MySQL module.