SERVER-11144 Add attribute to affect what sources an option can have

Conflicts:
	src/mongo/tools/mongo2toku_options_test.cpp
SERVER-11144 Add positional options to chaining interface
SERVER-11144 Fix logic error in mongofiles option registration
SERVER-11144 Use new positional option interface and remove old interface

Conflicts:
	src/mongo/db/mongod_options.cpp
	src/mongo/db/server_options.cpp
	src/mongo/tools/mongooplog_options.cpp
SERVER-11143 Add constraints to option registration interface
SERVER-11575 Added support for YAML Config File

Conflicts:
	SConstruct
	distsrc/THIRD-PARTY-NOTICES
	src/third_party/SConscript
Implement parseNumberFromStringWithBase<double>().
SERVER-8936 Improved Windows support of parseNumberFromString<double>().

Separately parse +/-infinity and nan, which Windows strtod does not handle.

When testing on Windows, do not test parsing hexadecimal floating point representations,
which Windows strtod does not support.

Reenable the parse_number_test.
SERVER-11575 Remove code for parsing JSON config file
SERVER-11575 Adding more unittests for YAML Config file
SERVER-11575 Add support for a map option type
SERVER-11143 Add constraints for dependencies between options
SERVER-11575 Remove now unnecessary slow test