Fixed SaslAuthenticator to expect byte[] payload, not Binary.
Fixed a few problems in authentication test
JAVA-941: Introduced Stream and StreamFactory abstractions, in order to cleanly separate responsibility between a connection, which knows about MongoDB message structure, and the underlying stream, which doesn't have to.