JAVA-828: support for SCRAM-SHA-1.
added unit tests for PlainAuthenticator.
added unit tests for the NativeAuthenticator.
added unit tests for the X509Authenticator.
JAVA-1330: Updated ReadPreference to be consistent with master by introducing TagSet and deleting Tags.
fixed tests to handle request identifiers differently.
Added DuplicateKey tests to the CreateIndexesSpecification

JAVA-1382
Turn off duplicate index tests for 2.7 temporarily
Internal Stream Connections are pipelined

Added ConnectionInitializer interface to handle connection initialization
Added StreamPipeline to handle pipelined requests

JAVA-1293
MapReduceCommand updates

Added jsMode support in MapReduceCommand
Removed MapReduceCommand.addExtraOption and getExtraOptions

JAVA-1347 JAVA-1349
Ported: Added reference links to deprecated auth doctags

JAVA-1315
Added a null value check in the StreamPipeline
Mark Async tests for JDK 1.6
Ignore async test if less than Java 1.7
Temp Ignore more internal stream async test if less than Java 1.7
Properly ignoring sharded clusters in query cursor exhaust tests
Ignoring query comment test for sharded clusters
Made MapReduceHelper work with mongos
Added timeouts to InsertStreamConnectionSpecification so that tests eventually complete no matter what
Formatting