Added support for socket-based MySQL connections

When working locally MySQL can accept connections via a socket rather
than a hostname and port, which can be significantly faster.

The port and socket are now able to be specified via the config.ini file
which is used by class.db.php