SERVER-15557 warn if we detect configurations for multiple storage engines

This re-applies commit cf1c4bb5a9da98ec831ff0a30ae78abe81e1d1b0 with the following modifications:
    a bug fix for when mongod is run without any command line options
    converts the multiple config error to a warning.
    removed storage_options.js (added in original commit but not needed anymore)
SERVER-15948 dont run query_oplogreplay.js in sharding passthrough
SERVER-14483 Unit test awaitReplication behavior across reconfig
SERVER-7596 Fix sharding/auth.js test to use SCRAM-SHA-1
Define dassert in terms of invariant rather than fassert

Gives better error messages on failures.
SERVER-13643 Use awaitCommit rather than commitNow in migrate
SERVER-15165 Don't error out when passed 0 len to writtingPtr
Reduce memory usage of manyclients.js
Revert "SERVER-13627 Test that replSetReconfig prohibits 0-vote arbiter."

This reverts commit 6eccc037b1e6d22d60d0e7aec39dcc183a756790.
SERVER-13951 Remove ROLLBACK_ENABLED flag

Rollback is now required so we don't need a way to turn it off.
SERVER-15165 Check invariant before early return
SERVER-15882 Remove dead index creation/deletion operations from AuthzManagerExternalState.
SERVER-15882 Delete dbtests/perf/perftest, which doesn't actually work.
SERVER-15960 dumpfilename1.js test should not depend on single-threaded semantics

Closes #858

Signed-off-by: Benety Goh <benety@mongodb.com>
Revert "SERVER-13643 Use awaitCommit rather than commitNow in migrate"

This reverts commit 96352b10e79c6fee04cd666756889cffcda86113.
Merge branch 'master' of https://github.com/mongodb/mongo into tokuft