Possibility to use connection pooling.

This commit gives users the ability to use connection pooling. 

The main benefit is noticed with database restarts/disconnections. If a MySQL server is restarted, the error "Cannot enqueue Query after fatal error." is unrecoverable. When using Connection Pooling, as soon as the database is back online and a request is received, the session will reconnect.

Keep alive is also an interesting addition. Some servers, such as Google Compute Engine, may close a connection if it is inactive for too long.