* Added an 'RDEscapeShellString()' function in 'lib/rdescape_string.h'
and 'lib/rdescape_string.cpp'.
* Fixed a bug in 'lib/rduser.cpp' that caused PAM authentication of
accounts with a password containing one or more '$' characters to fail.
With MySQL v5.7+ you have to specifically set either a valid date or NULL
otherwise you get SQL errors. In previous versions setting a date to "" implied
NULL, this is no longer the case which causes nice SQL errors all over the
place.
This new RDCheckDateTime is an overloaded function that calls the respective
isValid method of QDate/Time/DateTime and either returns the requested formatted
string or returns NULL as a string.
This can then be used as part of an INSERT/UPDATE without breaking the stricter
NULL interpretation of MySQL v5.7+.