SERVER-8374 Mongos incorrectly parses read preference spec with $query syntax

Conflicts:
	jstests/sharding/repl_disabled/read_pref.js
	src/mongo/client/dbclient_rs.cpp
SERVER-7636 Do not use cached connection when read preference changes

Conflicts:
	src/mongo/SConscript
	src/mongo/client/dbclient_rs_test.cpp
	src/mongo/db/queryutil.h
SERVER-8760 DBClientReplicaSet::slaveConn returns connection to primary
SERVER-8720 Memory leak in DBClientReplicaSet::slaveConn
SERVER-8819 Add to falsy values test and do some cleanup in jstests.cpp
SERVER-8819 Framework for testing round trip and test roundtrip of DBRef and DBPointer
SERVER-9082 Accept any valid value in id field of dbref
SERVER-9538 Only update BufBuilder's len if successfully grew

Otherwise BSONObj destructor will try to grow again to add EOO byte,
causing a double exception and terminate() call.
SERVER-10110 Fix flakiness in TimeTBuilder jsobj test

- Use the same clock source for all measured time points
- Use sleep interval that necessarily exceeds integer division bounds
fixed compile of util/net/sock.h on linux #603
added KillCurrentOp::reset for testing #603

Originally comes from mongodb/mongo@6a51b6b which we aren't going to take.