RUBY-691 test suite refactor and speed improvements

M-m-m-m-m-onster diff!

It's actually not really as big as it looks, it just touches a lot of things in our test suite. I started digging into a failure on Jenkins and realized we had some pretty large problems in our test suite.

I decided to grab RUBY-691 and tackle all of it at once and I'm pretty happy with the end result. Trimming back the weeds here has helped me debug a few auth test issues so it's already paying off.

What's in these changes:

* simplifies a lot about our test suite and rake tasks
* standardizes test suite class names, instance names, constants
* standardizes test db names for better cleanup
* fixed issues with orphaned/left-over replica sets
* fixed issues with orphaned/left-over sharded clusters
* fixed a few gaps in our test suite on travis
* fixed issue with bundler requiring too much in our test environment
* greatly improves the overall run time (commit task is much faster)
* added default rake task (rake => rake test:commit)
* more accurate code coverage reporting (without any result merging hacks)
* added coveralls coverage reporting in place of our existing manual task
* all test data and files get cleaned up reliably now
* removed some empty or un-used tests
* merged some duplicate tests

With these changes, all the tasks you used to run should act basically the same with improvements, but here are some new changes:

```ruby
# This is your pre-commit task. This runs everything with and without extensions.
# Locally (outside of CI) this will also run replica_set and sharded_cluster tests.

rake
rake test:commit

# Default test suites only (no extensions by)

rake test:without_ext
# keeping old aliases
rake test:ruby

# Default test suites only, with extensions

rake test:ext
rake test
```