Deprecated MapReduceOutput.getCommandResult and added replacement methods.  Also added tests for the replacements, which sadly required adding functional spock tests because MapReduceOutput requires Real Collections.
Result of codereview - mostly Javadoc changes.
JAVA-1026: Throw MongoIncompatibleDriverException if any of the connected servers are incompatible with this driver.
Simplifying StickyHAShardedClusterServerSelector
Clarifying tests for CompositeServerSelector and StickyHAShardedClusterServerSelector.  Removed public modifier for some methods in non-public class.
Fixed exception handling bug in ServerStateNotifier.
Made DefaultServer.invalidate() notify change listeners.
JAVA-1015, JAVA-1016: Added heartbeat background thread configuration and acceptable latency difference configuration to MongoClientOptions.

Conflicts:
	src/main/com/mongodb/DBTCPConnector.java
Add timeout parameters to Cluster interface methods