SERVER-9788 mongos does not respect secondary preferred after temporarily unavailable secondary

v2.6 fix: Added server parameter to tweak the frequency of when a replica set connection will decide when it needs to re-evaluate the node selection from scratch for a query with read prefrerence (i.e., decide not to use the cached connection regardless of read prefrerece compatibility).
SERVER-12512: Add role-based, selective audit logging.

(cherry picked from commit f2d47ee)
SERVER-13707 simplify tojsonObject

(cherry picked from commit 68c2f37993d8abb7d35a61eb79c7e0e16d021f68)
Merge remote-tracking branch 'upstream/v2.6' into v2.6