SERVER-8510 Use new option parser in mongo shell and move parsing into MONGO_INITIALIZERS

Conflicts:
	src/mongo/SConscript
	src/mongo/shell/dbshell.cpp
SERVER-8510 Use new option parser in mongod and mongos and move parsing into MONGO_INITIALIZERS

Conflicts:
	src/mongo/SConscript
	src/mongo/db/cmdline.cpp
	src/mongo/db/cmdline.h
	src/mongo/db/db.cpp
	src/mongo/dbtests/basictests.cpp
	src/mongo/s/server.cpp
SERVER-8510 Fixed command line parsing test and add corresponding JSON config test

Conflicts:
	jstests/slowNightly/command_line_parsing.js
SERVER-8510 Bring back Module class

Conflicts:
	src/mongo/SConscript
	src/mongo/db/mongod.vcxproj
	src/mongo/db/mongod.vcxproj.filters
	src/mongo/dbtests/test.vcxproj
	src/mongo/dbtests/test.vcxproj.filters
SERVER-8510 Use new options parser in SNMP module
SERVER-8510 Fix username and password options in mongo shell
SERVER-8510 Initialize member variables for mongoimport and mongoexport classes
SERVER-8510 Add comments to the OptionDescription struct
SERVER-7455 Common internal cluster auth function

Conflicts:
	src/mongo/SConscript
	src/mongo/db/oplogreader.cpp
	src/mongo/db/repl/connections.h
	src/mongo/db/repl/sync_source_feedback.cpp
	src/mongo/s/shard.cpp
Revert "SERVER-7455 Common internal cluster auth function"

Broke auth C++ unit tests

This reverts commit 00fb45cd97d2314548dc07c2c8e1cc1737fd273f.

Conflicts:
	src/mongo/SConscript
	src/mongo/db/oplogreader.cpp
	src/mongo/db/repl/connections.h
	src/mongo/db/repl/sync_source_feedback.cpp
Reapply "SERVER-7455 Common internal cluster auth function"

This reverts commit cd3101ca2f8e539a4ad425fa8e6da55a935dd2b1, but fixes a symbol
misplacement that broke linking.

Conflicts:
	src/mongo/SConscript
	src/mongo/db/oplogreader.cpp
	src/mongo/db/repl/connections.h
	src/mongo/db/repl/sync_source_feedback.cpp
SERVER-7455 Using common internal cluster auth function
SERVER-7455 keyfile replacement, command line parameters and upgrade

Conflicts:
	src/mongo/db/cmdline.cpp
	src/mongo/db/repl/sync_source_feedback.cpp
	src/mongo/s/server.cpp
	src/mongo/s/shard.cpp
	src/mongo/util/net/ssl_manager.cpp
SERVER-10322 Require username when using MONGODB-X509 in shell
SERVER-8864 Use BIO pairs for socket decoupled SSL network interface
SERVER-8864 Fixed failing unit test 'sock_test'

Conflicts:
	src/mongo/util/net/sock.cpp
SERVER-10707 use ScopeGuard to close sockets in setupSockets

fixes coverity leakage report
SERVER-10520 Disable insecure SSL ciphers
SERVER-8864 SERVER-10739 Support concurrent SSL and non-SSL connections
SERVER-10261 disable ssl session caching (affects java driver)

Conflicts:
	src/mongo/util/net/ssl_manager.cpp