Add support for PDO based connections for MySQL

## Summary
An idea that was brought up during the Joomla! Developer Conference was adding support for PDO based connections for our MySQL database support.  As this support already exists [in the Framework](https://github.com/joomla-framework/database/tree/master/src/Mysql) (having refactored the legacy MySQL driver which was using the deprecated `mysql` PHP extension), this PR backports the PDO based MySQL driver and supporting classes into the CMS architecture and adds to our internal checks support for the new PDO driver.  As this is a MySQL based driver, it required no database related changes to existing code based on initial testing.

## Testing Instructions
First, you'll need to determine if your environment supports PDO based connections, and if so, if the PDO based MySQL driver is supported.  You can use the System Information view in your site's backend to review the PHP configuration to check for this support.  If your environment supports PDO, apply the patch via your preferred method.  If you want to test an existing site, you should be able to switch to the `MySQL (PDO)` driver via the site's Global Configuration (or set `$dbtype = 'pdomysql';` in configuration.php) ***BUT ENSURE YOU BACKUP THE SITE BEFORE TESTING***.  You can also test new installs selecting the `MySQL (PDO)` option on the database step.  You should be able to use your existing database credentials in both instances as this option merely changes how Joomla is connecting to your MySQL database.

Please test both core features and your favorite extensions to ensure there aren't any unexpected errors with the new driver, and if there are any errors, please report them so we can determine if the error is related to the driver or the third party code.  Developers who are already familiar with PDO are also invited to test PDO related functionality with this patch and report their results.
I didn't do any style changes on the classes that were copied out of the Framework, so that's how it was in the other repository.  I guess I can quickly clean that up too.