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 as well 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:

```ruby
  # This is your pre-commit task.
  #
  # This runs:
  #  - Everything without extensions enabled.
  #  - Everything with extensions enabled.
  #
  # Locally this will also run replica_set and sharded_cluster tests.

  rake
  rake test:commit

  # Default test suites (no extensions)

  rake test:without_ext

  # keeping old aliases
  rake test:ruby
  rake test

  # With extensions

  rake test:ext
```