ACCUMULO-2501 Add deepCopy to RowFilter

Adds a base implementation of deepCopy to org.apache.accumulo.core.iterators.user.RowFilter which sets the iterator source and decisionIterator prope This allows custom RowFilters to be chained together with minimal extra effort.

Signed-off-by: Josh Elser <elserj@apache.org>
ACCUMULO-2501 Fix some formatting and add an explicit test for deepCopy on RowFilter
Merge branch '1.5.2-SNAPSHOT' into 1.6.1-SNAPSHOT

Conflicts:
	core/src/test/java/org/apache/accumulo/core/iterators/user/RowFilterTest.java
ACCUMULO-2948 Use an AtomicInteger to any worry from multiple threads access pdCount concurrently.
Merge branch '1.5.2-SNAPSHOT' into 1.6.1-SNAPSHOT

Conflicts:
	test/src/test/java/org/apache/accumulo/fate/zookeeper/ZooLockTest.java
ACCUMULO-2849 Add scanner batch size and write delay configurability to mem stress test

This commit adds one new option each to the Scan and Write components of the memory
stress test. The --scan-batch-size option for Scan configures the batch size of the
scanner it uses, while the --write-delay option for Write allows for a delay between
each mutation added to its batch writer. The reader.sh and writer.sh scripts are
updated for easy configuration of these new options.
ACCUMULO-2908 use batch scanner opts when parsing
ACCUMULO-2950 Add an RpcWrapper class

  Adds an RpcWrapper class to reintroduce the previous behavior in Thrift 0.9.0
  that was broken by THRIFT-1805 in Thrift 0.9.1. This is done by extending the
  InvocationHandler that was already being used to incorporate Trace information
  into the RPC calls, but now also translates exceptions to one that Thrift
  0.9.1 will expose to the client as a TApplicationException.INTERNAL_ERROR
ACCUMULO-2827: HeapIterator optimization. Assumes it's more probable that the next entry in a merge comes from the current iterator. Also switching from PriorityBuffer to PriorityQueue<> to avoid unsafe casts

Signed-off-by: Keith Turner <kturner@apache.org>
Merge branch '1.5.2-SNAPSHOT' into 1.6.1-SNAPSHOT
Merge branch '1.5.2-SNAPSHOT' into 1.6.1-SNAPSHOT
Merge branch '1.5.2-SNAPSHOT' of https://git-wip-us.apache.org/repos/asf/accumulo into 1.5.2-SNAPSHOT
Merge branch '1.6.1-SNAPSHOT' of https://git-wip-us.apache.org/repos/asf/accumulo into 1.6.1-SNAPSHOT
Merge branch '1.5.2-SNAPSHOT' into 1.6.1-SNAPSHOT
ACCUMULO-2767 Move CV term definition to class-level, add definition to user manual.
Merge branch '1.5.2-SNAPSHOT' into 1.6.1-SNAPSHOT

Conflicts:
	core/src/main/java/org/apache/accumulo/core/security/ColumnVisibility.java
ACCUMULO-2722 Remove throws Exception which isn't actually thrown.
Merge branch '1.5.2-SNAPSHOT' into 1.6.1-SNAPSHOT

Conflicts:
	core/src/main/java/org/apache/accumulo/core/util/Merge.java
ACCUMULO-2649 Get some more tests for the mapred RangeInputSplit
Merge branch '1.5.2-SNAPSHOT' into 1.6.1-SNAPSHOT

Conflicts:
	core/src/test/java/org/apache/accumulo/core/client/mapred/AccumuloInputFormatTest.java