SERVER-13282 Fix leak in mongos BatchedWriteExec::execute()

Conflicts:
	src/mongo/s/write_ops/batch_write_exec.cpp
SERVER-8510 Remove configuration variable manager and add option group for command line parsing

Conflicts:
	src/mongo/db/initialize_server_global_state.cpp
	src/mongo/db/mongod.vcxproj
	src/mongo/db/mongod.vcxproj.filters
	src/mongo/dbtests/test.vcxproj
	src/mongo/dbtests/test.vcxproj.filters
	src/mongo/s/mongos_v8.vcxproj
	src/mongo/s/mongos_v8.vcxproj.filters
	src/mongo/shell/mongo.vcxproj
	src/mongo/shell/mongo.vcxproj.filters
SERVER-8763: Add decrement to Counter64

Conflicts:
	src/mongo/db/repl/bgsync.cpp
SERVER-8897 Don't use non-portable variadic comma elision
Handle exceptions in initializers more gracefully
SERVER-9768 create non-dying entry point for running initializers, for use by C++ driver users
Implement parseNumberFromStringWithBase<double>().
Cherry pick
SERVER-8936 Fix parse_number_test on RHEL5 32-bit and Windows.

For RHEL5 32-bit, use a number much closer to 0 for underflow testing.

For 32-bit Windows, switch to mongo::isNaN and mongo::isInf.
SERVER-9757 Improve performance of Status as a return value

- Make OK be represented by a NULL ErrorInfo pointer, making it much faster to construct and
  return an OK Status.

- Inline most of the trivial methods of Status, but particuarly the refcounting, so that
  returning a Status doesn't require any function calls.

- Remove the no longer necessary machinery around statics.

- Move lifecycle inlines to a -inl.h header for clarity.
SERVER-9757 Move Status inlines to inline header
SERVER-9757 Improve performance of Status as a return value

- Make OK be represented by a NULL ErrorInfo pointer, making it much faster to construct and
  return an OK Status.

- Inline most of the trivial methods of Status, but particuarly the refcounting, so that
  returning a Status doesn't require any function calls.

- Remove the no longer necessary machinery around statics.

- Move lifecycle inlines to a -inl.h header for clarity.

Conflicts:
	src/mongo/base/status-inl.h
	src/mongo/base/status.h
Manual fixup of some status code
SERVER-12157 Replace implementation of StringMapDefaultHash::operator()
with Murmur3. This has proven to be more effective in terms of speed
and collision rates.
Added const_iterator to StringData. Supports all operations that a const char* can support

Signed-off-by: Andrew Morrow <acm@10gen.com>

Conflicts:
	src/mongo/base/string_data.h
SERVER-12157: fix build on Linux 32-bit and old version(s) of g++.

Conflicts:
	src/mongo/base/string_data_test.cpp
Try to fix things up
SERVER-10074 RotatableFileWriter type, introduce logger module.

Conflicts:
	src/mongo/base/error_codes.err
SERVER-10084 New logging implementation.

This change-set:

* Introduces a new top-level directory, mongo/logger, containing most of the implementation of logging functionality formerly found in log.cpp/log.h.

* Cleans up existing, unusual uses of the logging system that were not trivially compatible with the new implementation.

* Replaces Logstream/Nulstream with a LogstreamBuilder object, whose destructor writes log messages.  This new LogstreamBuilder is reentrant, unlike the old logging code, which was thread-safe but not reentrant.  Additionally, std::endl is no longer required to terminate a log line.  When a LogstreamBuilder goes out of scope, the log message gets committed.

* Separates the log system into several components: a global LogManager, several LogDomains, various kinds of Appenders (e.g., SyslogAppender) and Encoders (for formatting messages).

* Allows unit tests to capture and examine log output.

This patch does _not_ introduce support for hierarchical log domains, or for enabling and disabling specific log domains when the server is running in a multi-threaded mode.  This is future work.

Conflicts:
	src/mongo/db/btree.cpp
	src/mongo/db/btreebuilder.cpp
	src/mongo/db/commands/index_stats.cpp
	src/mongo/db/commands/storage_details.cpp
	src/mongo/db/commands/write_commands/batch_executor.cpp
	src/mongo/db/dbcommands_admin.cpp
	src/mongo/db/index/btree_based_builder.cpp
	src/mongo/db/index_update.cpp
	src/mongo/db/pagefault.cpp
	src/mongo/db/pdfile.cpp
	src/mongo/db/record.cpp
	src/mongo/db/repl/master_slave.cpp
	src/mongo/db/repl/oplog.cpp
	src/mongo/db/storage/namespace_index.cpp
	src/mongo/dbtests/extsorttests.cpp
	src/mongo/dbtests/mmaptests.cpp
	src/mongo/dbtests/perf/perftest.cpp
	src/mongo/dbtests/perftests.cpp
	src/mongo/dbtests/queryoptimizertests2.cpp
	src/mongo/dbtests/repltests.cpp
	src/mongo/util/file_allocator.cpp
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.