Add explicit dependencies for types

mysql_grant has an autorequire()'d dependency on the .my.cnf file used
by the provider to talk to the database.

I've added this to mysql_database and mysql_user too since logically
these also need the file to be in place.

I've hit this bug because of a slightly unusual edge case in our own
manifests, but I think this fix belongs upstream regardless.
Add support for Gentoo
Merge pull request #585 from stepping-stone/gentoo

Add support for Gentoo
The old regex requires something after the 'host' part. Fix this.

Old regex is : /^GRANT\s(.+)\sON\s(.+)\sTO\s(.*)@(.*?)(\s.*)$/ . The
last part (\s.*)$ means "a space followed by anything". The issue is
that when user has no GRANT privileges, the "SHOW GRANTS FOR #{user_string}" returns
"GRANT SELECT ON `database`.* TO 'user'@'%'" which does not match (\s.*)$ .
This small patch fixes this making last bloc optional (thanks to '?').
Merge pull request #587 from maxenced/fix-mysql-grant-parsing

The old regex requires something after the 'host' part. Fix this.
Merge pull request #571 from jtopper/master

[MODULES-1333] Add explicit dependencies for mysql_database and mysql_user types
(maint) add statement "MANAGED BY PUPPET" to my.cnf config file template and remove unused my.conf.cnf.erb template
Fix escaped backslashes in grants

* Mysql uses the underscore character to represent a single character
  wildcard.
* A grant on table `the_database`.* would match `theAdatabase`.*, so
  underscores must be escaped to avoid this match.
* The output from mysql escapes special characters (\n, \t, \0, and \\),
  but the input does not need to be escaped.
* In order for the provider to compare the tables, the output of
  mysql -NBe <query> must have \\ substituted with \.
Merge pull request #593 from vinzent/small_maint

(maint) add statement "MANAGED BY PUPPET" to my.cnf config file template
Improve checks for MySQL user's name.

As per http://dev.mysql.com/doc/refman/5.5/en/identifiers.html , MySQL
allows for more than '\w-'. This commit improves the check to ensure
that:
 - if username only contains [0-9a-zA-Z$_], it might be quoted. It is
   not a requirement though
 - if username contains anything else, it MUST be quoted

I kept 2 checks, but the 2nd one can probably be removed (I can't find a
username which match the 2nd one but not the first.)
Merge pull request #588 from maxenced/fix-mysql-user-allowed-char

Improve checks for MySQL user's name.
Merge pull request #594 from skroll/escape_backslash

Fix escaped backslashes in grants
[MODULES-1484] Add support for install_options for all package resources.

Add install_options parameter to mysql::bindings, mysql::client, and
mysql::server. The default is undef.
Prior to this there was generic :test group.

Unfortunately Beaker will be EOL-ing support for Ruby 1.8 (a number of
Beaker's dependencies already have and pinning to older versions is
becoming costly). Once Beaker does this it will cause failures whenever
running `bundle install`.

To avoid this failure we can segregate the system testing gems, allowing
unit, lint and development to continue with
`bundle install --without system_tests.`
Merge pull request #598 from mhaskel/fix_for_beaker_with_1.8.7

Prior to this there was generic :test group.
Fix issues URL and make format match puppet module build
Merge pull request #599 from mhaskel/metadata_fix

Fix issues URL and make format match puppet module build
Prepare for 3.0.0 release
clarify changelog for major release
Merge pull request #600 from hunner/release_3.0.0

Release 3.0.0