Added mysql::user and mysql::grant defines

These two new defines support creating and removing mysql/mariadb users and
privileges. Fairly extensive testing has gone into these defines to make sure
they work as expected and without errors. Parts of the code are (C) Mikko
Vilpponen 2012 and released under the same BSD license as the rest of this
module.

Signed-off-by: Samuli Seppänen <samuli@openvpn.net>
Updated LICENSE year

Signed-off-by: Samuli Seppänen <samuli@openvpn.net>
A number of fixed to mysql slave monitoring

- Reduced the number of mysql queries to just one by using a temporary file
- Removed "with reminder on 480 cycles" from monit config
- Increased default Seconds_Behind_Master to 3600 to reduce false positives
- Removed Last_Error and Last_Errno checks
- Fixed a typo that caused empty Seconds_Behind_Master reports to be sent

Signed-off-by: Samuli Seppänen <samuli@openvpn.net>
Made mysql::grant affect all databases if the database name is omitted

Signed-off-by: Samuli Seppänen <samuli@openvpn.net>
Removed obsolete comments from mysql:user

Signed-off-by: Samuli Seppänen <samuli@openvpn.net>
Added packet filtering support

Multiple source IP addresses can be configured using a list. Both IPv4 and IPv6
are supported.

Signed-off-by: Samuli Seppänen <samuli@openvpn.net>
Added support for managing $HOME/.my.cnf

Currently only configuring the default database username and password for MySQL
clients is supported. The "mysql::config::rootopts" class uses the more generic
"mysql::config::useropts" define to do the hard lifting. There is currently no
integration with the module interface (=mysql class). Some parts of the code are
(C) Mikko Vilpponen 2012.

Signed-off-by: Samuli Seppänen <samuli@openvpn.net>