SERVER-15994 backport compatibility fixes from 2.8 listDatabase/Collections/Indexes slaveOk changes
Revert "Revert "SERVER-14728 Shard depends on string comparison of replica set connection string""

This reverts commit d261864e9156af7ecc3d0491111dffa0161e9d0d.

(cherry picked from commit 50601136fc8b9399a1832b84396e74e7bc9011c5)
SERVER-14728 Shard depends on string comparison of replica set connection string

Fix iterator incompatible issue.

(cherry picked from commit e97e4f04874a10a3d427a23eb3de4f97234b8c89)
SERVER-16291 allow index filters commands to run on secondaries if slaveOk explicitly set to true

(cherry picked from commit 22871dbd76bfab1a7cb8d63d944f8f2c449e26a2)

Conflicts:
	src/mongo/s/commands/cluster_index_filter_cmd.cpp
SERVER-15986 added storage_engine_metadata - reads and writes storage engine metadata file in data directory

(cherry picked from commit a932b12ac03366e9336ffc92e7710ddb5c3b3a39)
SERVER-15986 SERVER-16283 improve validation to detect mmapv1 local.ns files

(cherry picked from commit bb8e5e6b28f31a0b4e9eefc5df52581073bf332d)
Revert "SERVER-13741 Migrate remaining tests to use write commands"

This reverts commit 4f91149f8e106993f4e8c93c557a74570f7f0938.
SERVER-12058 fix repl/master1.js

Expect the server to ABRUPT_EXIT when we catch clock skew exceptions in logOp
SERVER-14376 Make mongoutils::str available in the mongo namespace.

(cherry picked from commit 3704fa06bee441dca68521b4be71edc21d00420b)
SERVER-15986 added storage_engine_metadata to src/mongo/SConscript
SERVER-15986 SERVER-16283 prevent server from starting up when non-active storage engine files are detected
SERVER-12061 optionally abort cloner when corruption detected from source

(cherry picked from commit 6556243ff038a3f9cdc52e6a97684203c8c9ec54)

Conflicts:
	src/mongo/db/cloner.cpp
SERVER-12061 fix assert code

(cherry picked from commit 525b5ef94f72c376c4d831539be3988b8ff0a0ec)
SERVER-12061 massert on failure

(cherry picked from commit 5a74508369bfb820b18746623708688a76ae3419)
SERVER-12472 Fail MoveChunk if an index is needed on TO shard and data exists
SERVER-10069 Rewrite errorcodes.py so it captures multiline messages

- captures multiline messages, when possible
- no longer silently modifies source code. (for hygenic build)
- prompts user to reinvoke with "--fix" when conflict or zero code detected
- faster

(cherry picked from commit 153f2302cac190167dd1c039ad2c68c4aa520fcc)
SERVER-10069 Update error codes for 2.6.6
Merge remote-tracking branch 'upstream/v2.6' into v2.6