ACCUMULO-2635 Add ZooCacheFactory and integrate across code

This commit introduces a ZooCacheFactory class to centralize and maximize reuse of
ZooCache instances and to facilitate testing. The caching mechanism formerly in ZooCache
was moved to the factory; also, the separate caching mechanism in ServerClient was removed
in favor of the factory.
Merge branch '1.6.1-SNAPSHOT'

Conflicts:
	core/src/main/java/org/apache/accumulo/core/client/ZooKeeperInstance.java
ACCUMULO-2635 Replace Constants.UTF8 in merged ZooKeeperInstanceTest
ACCUMULO-2852: use Cwd, since we're using Cwd. also change usage text to match new executable name

Signed-off-by: Josh Elser <elserj@apache.org>
Merge branch '1.5.2-SNAPSHOT' into 1.6.1-SNAPSHOT
Merge branch '1.6.1-SNAPSHOT'
ACCUMULO-1961 clean up warnings as listed by eclipse
ACCUMULO-2041 extract tablet classes to new files, move tablet-related code to o.a.a.tserver.tablet, make member variables private
ACCUMULO-2041 updates from initial review
ACCUMULO-2041 more review updates
ACCUMULO-2766 fix wal group commit
Merge branch '1.5.2-SNAPSHOT' into 1.6.1-SNAPSHOT

Conflicts:
	server/tserver/src/main/java/org/apache/accumulo/tserver/log/DfsLogger.java
Merge branch '1.6.1-SNAPSHOT'
ACCUMULO-2041 provide alternative name for entries in a WAL
Merge branch 'master' of https://git-wip-us.apache.org/repos/asf/accumulo
ACCUMULO-2041 finished state management in Tablet
Merge remote-tracking branch 'origin/master' into ACCUMULO-378

Conflicts:
	server/tserver/src/main/java/org/apache/accumulo/tserver/TabletServer.java
	server/tserver/src/main/java/org/apache/accumulo/tserver/log/TabletServerLogger.java
	server/tserver/src/main/java/org/apache/accumulo/tserver/tablet/Tablet.java
ACCUMULO-378 Some more test stabilization
ACCUMULO-378 Core review fixes from bhavanki for replication
ACCUMULO-2255 pulled 6 classes out of TabletServer, moved GC checking to a new class, add "final" to many members, grouped members together, changed many public items to private