RUBY-686 plumbing and refactor for auth support

We're almost done with this ticket, this is the next to last PR for RUBY-686. In the next pass I have some changes to the socket base, pool and DB.

In this pull request I have:

* Added URI support for auth source and auth mechanism
* Corrected our current auth source support for delegated auth
* Move some more portions of the auth workflow into the auth module
* Updated/added tests for all of the above