added ability for client-side connection to use the connection identifier from the server.
fixed tests and changed behavior such that getting the connection id does not affect the open-ness of the connection.
piggybacking project configuration.
Work in progress.
Fixed doc comments in Bson library.
Fixed doc comments and warnings in Driver and Core projects.
Got Driver unit tests passing with new serialization code.
Got Core unit tests to pass. Replaced object with either BsonDocument or TDocument in operations, protocols and messages.
Got Core functional tests to pass.
Process IBsonMemberMapAttributes in groups. Right now there are only two groups: 1. [BsonSerializer] and 2. everything else.
stash
Added checks for valid representation in constructors of serializers that take a representation.
Split LazyBsonDocument into two classes: MaterializedOnDemandBsonDocument and LazyBsonDocument. Changed BsonDocumentWrapper to be a subclass of MaterializedOnDemandBsonDocument instead of BsonValue. LazyBsonDocument and BsonDocumentWrapper are just two different kinds of MaterializedOnDemandBsonDocument.
Refactored most of LazyBsonArray into MaterializedOnDemandBsonArray to match how LazyBsonDocument works.
Removed non-generic version of BsonBaseSerializer.
Renamed classed that started with "IXyz" (but weren't interfaces) to something else that doesn't conflict with the interface naming convention.
Removed the IBsonSerializerWithItemSerializer and IBsonSerializerWithKeyValueSerializer that were made unnecessary with the introduction of the IBsonSerializerWithConfigurableChildSerializer interface.
Renamed IBsonSerializerWithXyz interfaces to IXyzConfigurable.
Removed obsolete conventions methods. Some unit tests had to be refactored as a result.
Renamed DeserializationContext to BsonDeserializationContext and SerializationContext to BsonSerializationContext.