[Test improvements] While performance testing findOne, I discovered some functional tests that would be much more readable in Spock than JUnit, so I've ported them from DBCollectionOldTest to DBCollectionFunctionalSpecification
Merge pull request #279 from trishagee/test-improvements

Moving some old tests to Spock
Made two accidentally-public message classes package private
Added general ability to encode DBRef and for DocumentCodec to decode DBRef.

  JAVA-1508
Correctly apply send/receive buffer size from SocketSettings

  JAVA-1542
Merge pull request #280 from nscavell/rcvbuf

Correctly apply send/receive buffer size from SocketSettings
Added a fluent api onto find

JAVA-1532
Added fluent support to aggregate

JAVA-1540