SERVER-14446 When required, generate the default replica set config in the replSetInitiate command.

This moves the generation of the default configuration into the command object and out
of the replication coordinator, because it depends on server properties like "this node's
host name".
SERVER-14980 Support fake clock in ReplicationExecutor for testing.

By always fetching the current time through the ReplicationExecutor's
NetworkInterface, and introducing some basic support for mocking the passage of
time, it is now possible to test replication components that depend on time's
passage in a non-racy manner in C++ unit tests.
Merge remote-tracking branch 'upstream/master'