updated BsonSerializationInfo to include more behavior.
ported linq implementation without tests.
ported tests and build succeeds.