ACCUMULO-378 Add details on replication "bookkeeping" on the master cluster.

Conflicts:
	docs/src/main/resources/design/ACCUMULO-378-design.mdtext
ACCUMULO-2571 State machine for data which needs replication
ACCUMULO-2573 First stab at changes to IDL for replication
ACCUMULO-2650 Initial round of configuration parameters
Remove internal rpc from the tserver service and into its own service
ACCUMULO-2574 Write a script to automate generation of protobuf classes and wire it up to maven
ACCUMULO-2574 Implement some wrappers around PB access and track new WALs when replication is enabled

Conflicts:
	server/tserver/src/main/java/org/apache/accumulo/tserver/TabletServer.java
ACCUMULO-2586 Ensure that all of the constructors from 1.5.0 are present

Conflicts:
	core/src/main/java/org/apache/accumulo/core/client/mapred/InputFormatBase.java
	core/src/main/java/org/apache/accumulo/core/client/mapreduce/InputFormatBase.java
ACUMULO-2659 Replace some more methods for api's sake

Conflicts:
	core/src/main/java/org/apache/accumulo/core/client/mapred/InputFormatBase.java
	core/src/main/java/org/apache/accumulo/core/client/mapreduce/InputFormatBase.java
ACCUMULO-2659 Fall back to the configuration when the iterator setting aren't in the split
ACCUMULO-2574 Rehash the class names, make pb fields optional with reasonable defaults.

Add more tests for commutative application and duplicate statuses
ACCUMULO-2579 When updating WALs no longer in use, mark a replication entry as well.
ACCUMULO-2579 Break out updateTabletDataFile into some methods to be a bit more testable
ACCUMULO-2579 Add tests to ensure repl mutation is created in tablet
ACCUMUL0-2579 Before minc finishes and before replication starts, ensure that we note the WAL for replication

It's possible that we die any number of areas before a minc finishes successfully, so we need to make
sure that we track the WAL, not only at minc-success, but at recovery time.

Conflicts:
	server/tserver/src/main/java/org/apache/accumulo/tserver/Tablet.java
Add license headers to documentation/statemachine
ACCUMULO-2579 Update the metadat constraint for the new columns
ACCUMULO-2684 Create toStringNoTruncate to always print the entire Key

Conflicts:
	core/src/main/java/org/apache/accumulo/core/data/Key.java
ACCUMULO-2579 Make sure host/file is accounted for before writing to metadata.

Add some tests that make sure we're writing the same thing in both places
ACCUMULO-2579 Check the thing we're expecting is a URI. Fix up the rest of the tests too.