RUBY-537 cleaning up how strict is used, deprecating strict

In short, the goal of this change set is to eliminate all calls to fetch collection names (eg. all namespaces) unless strict mode is enabled. This has always been the documented behavior of strict, but there were a number of places like #drop_collection and #create_collection where we weren't actually using it correctly.

The driver really shouldn't ever be doing namespace checks. In addition to correcting how strict is used, I've added a deprecation for strict mode in general so that it can be phased out at a later date.

Also... while I was digging around in Collection and DB I cleaned up a few inconsistencies, style issues, white space and small bugs. If you touch it, make it better, right?

The core parts of this change set can be found here:
https://github.com/brandonblack/mongo-ruby-driver/blob/46f1312c824b0ce9364251bf2652f205c4ab60ae/lib/mongo/db.rb#L26-L48
https://github.com/brandonblack/mongo-ruby-driver/blob/46f1312c824b0ce9364251bf2652f205c4ab60ae/lib/mongo/db.rb#L289-L304
https://github.com/brandonblack/mongo-ruby-driver/blob/46f1312c824b0ce9364251bf2652f205c4ab60ae/lib/mongo/db.rb#L331-L338