Correctly preserve key order when decoding

Note that OrderedDictionary.[hm] are now required for BSON.
Add support for commands and category with helper to get the server version
Expand and clean up commands
Fix bug which resulted in error descriptions never printing
Reformat error messages
Implement dropCollection