RUBY-621: remove lock_with_hack (unused)
RUBY-621: remove each_with_object
RUBY-577: add_user support for roles and userSource
RUBY-577: support for delegated authentication and logout
RUBY-577: update old tests for delegated auth
RUBY-577: add new tests for delegated auth
RUBY-577: temporarily disable testing on travis

The patch for enabling auth on Travis has not been pushed to the travis
workers yet:

https://github.com/travis-ci/travis-cookbooks/pull/180

Once it has been rolled out we can remove the skipping of this test.
minor: editing yard template
minor: create fixtures folder and moving existing fixtures

between datafiles, keyfiles and the certs I'm adding for the ssl tests we've begun to accumulate a number of test fixtures. as such, I've done a few things in this commit to try and help organize them.

* create new tests/fixtures folder
* adding new certs for ssl tests
* moving data file fixutes and updating references to them
* moving keyfile fixtures and updating references to them
RUBY-565 adding support for ssl cert validation

* Added new SSL options to MongoClient, MongoReplicaSetClient and MongoShardedClient.
* Added SSL certificate check to SSLSocket.
* Updated pool tests to support these changes.

The MongoDB auth spec explicity does not include any of these new SSL values (mostly because they're file paths) so there were no changes required the URI parser. SSL cert validation options must be set directly on the client.