Merge branch 'paul/ftsiterator'

Conflicts:
	src/mongo/db/fts/fts_spec.cpp
	src/mongo/db/fts/fts_spec.h
	src/mongo/db/fts/fts_spec_test.cpp
SERVER-12369 SERVER-11461 Update mongodump and mongorestore to properly handle users and roles in 2.6

There are some known caveats:
(1) It's not safe to run mongorestore while user-management commands are
executing on a live system (SERVER-12539).

(2) To restore 2.4 users to a 2.6 system that has never had any users added, you
must manually insert the version document indicating v1 users into
admin.system.version, which must be done by a highly privileged user, before
beginning the restore (SERVER-12541).
SERVER-12081 Formatting for FTSElementIterator class declaration
SERVER-12081 Move fts_iterator.{cpp,h} => fts_element_iterator.{cpp,h}
SERVER-7282 Clean up namespace name length checks
SERVER-12513 If a 2.4-style index on admin.system.users is detected, remove it
SERVER-12419 standardize on one type for HostOpTimeMaps
SERVER-12419 Add support for electionId in replsets and wElectionId in GLE command
SERVER-12419 add electionId to mongos batch response structure

Note that this will require some modifications/backporting to 2.4.10 for full support.
SERVER-12419 Fix commands from mongos and GLE
Revert "SERVER-12513 If a 2.4-style index on admin.system.users is detected, remove it"

This reverts commit 36c3d951c28cf752789cf881089f3a1683974ac8.
SERVER-12530 Don't set NoTimeout flag on input cursor to agg

This is a short-term fix for SERVER-12530. It ensures that the cursors leaked
when killing an aggregation cursor are eventually cleaned up.
SERVER-12369 Update test now that backup and restore roles can run getParameter
SERVER-12369 Assert that user data properly setup in dumprestore_auth3.js test
fix print outs in replsets/auth_compact.js
improve compatibility of startParallelShell and replsets
SERVER-12556 On 32-bit Windows test runs shorten the duration of PerfTests::InsertBig
SERVER-5724 Mark dbtemprelase{,cond,if} destructors as throwing

This is a stop-gap solution to prevent c++11 builds from terminating when
relocking and reinitializing Client::Context fails. In c++11 destructors that
aren't explicitly marked as throwing are implicitly noexcept(true).

For similar reasons it is invalid to put dbtemprelease into a smart pointer
since the smart pointer's destructor isn't marked as throwing. The few places
that did that were also changed.

dbtemprelasewritelock is unused so it was removed rather than fixed.
SERVER-12392: do not use ReadContext as it establishes the db if its closed
SERVER-12419 fix error status codes to match what batch_downconvert expects