CSHARP-893: Fix handling of empty string element names and dictionary key values.
CSHARP-893: Code review changes.
CSHARP-889: using new createIndexes commands when talking with a 2.6 server.
changing all tests calling EnsureIndex to CreateIndex as EnsureIndex is now deprecated.
changed the name of AllowDiskUsage to AllowDiskUse.
CSHARP-94: Partial support for Structs as long as every constructor parameter can be matched up to Field or Property by name differing only in casing.