HBASE-12549 Fix TestAssignmentManagerOnCluster#testAssignRacingWithSSH() flaky test
HBASE-12541 Add misc debug logging to hanging tests in TestHCM and TestBaseLoadBalancer
HBASE-12346 Scan's default auths behavior under Visibility labels.(Jerry He)
HBASE-12346 Scan's default auths behavior under Visibility labels. - Addendum
HBASE-12541 Add misc debug logging to hanging tests in TestHCM and TestBaseLoadBalancer -- ADDENDUM; add waitForNoRegionInTransition from HTU in master branch
HBASE-10671 Add missing InterfaceAudience annotations for classes in hbase-common and hbase-client modules
HBASE-12554 TestBaseLoadBalancer may timeout due to lengthy rack lookup
HBASE-12549 Fix TestAssignmentManagerOnCluster#testAssignRacingWithSSH() flaky test (Virag  Kothari) --ADDENDUM
HBASE-12560 [WINDOWS] Append the classpath from Hadoop to HBase classpath in bin/hbase.cmd
HBASE-12479 Backport HBASE-11689 (Track meta in transition) (Virag Kothari)
HBASE-12550 Check all storefiles are referenced before splitting

Summary: If there are bugs in HDFS move and/or create we should protect against them by making sure that all files referenced end up in split daughters.

Test Plan: Unit tests cover splits pretty well

Subscribers: matteobertozzi

Differential Revision: https://reviews.facebook.net/D29373
HBASE-12471 Task 4. replace internal ConnectionManager#{delete,get}Connection use with #close, #createConnection (0.98, 0.99) under src/main/java

Move from HConnection to ClusterConnection or Connection
Use unmanaged connections where we use managed previous
(used the jdk7 https://docs.oracle.com/javase/7/docs/technotes/guides/language/try-with-resources.html idiom).

In ZKConfig, synchronize on Configuration rather than make a copy.
Making a copy we were dropping hbase configs in certain test context
(could not find the zk ensemble because default port).

In tests, some move to the new style connection setup but mostly
fixes for premature connection close or adding cleanup where it
was lacking.

Conflicts:
	hbase-server/src/test/java/org/apache/hadoop/hbase/client/TestMultiParallel.java
	hbase-server/src/test/java/org/apache/hadoop/hbase/mapreduce/TestLoadIncrementalHFilesSplitRecovery.java
	hbase-server/src/test/java/org/apache/hadoop/hbase/master/TestDistributedLogSplitting.java
	hbase-server/src/test/java/org/apache/hadoop/hbase/replication/TestMultiSlaveReplication.java
	hbase-server/src/test/java/org/apache/hadoop/hbase/replication/TestReplicationEndpoint.java
HBASE-12471 Task 4. replace internal ConnectionManager#{delete,get}Connection use with #close, #createConnection (0.98, 0.99) under src/main/java
HBASE-12495 Use interfaces in the shell scripts (solomon duskis)

Conflicts:
	hbase-shell/src/main/ruby/hbase/quotas.rb
HBASE-12550 ADDENDUM Make HRegion's api not change.
HBASE-12569 Update scripts to control MaxDirectMemorySize via env vars

Signed-off-by: stack <stack@apache.org>

Conflicts:
	src/main/docbkx/book.xml
    HBASE-12404 Task 5 from parent: Replace internal HTable constructor use with
    HConnection#getTable (0.98, 0.99)

    Backport

    Replaced HTable under hbase-*/src/main/java. Skipped tests. Would take
    till end of time to do all and some cases are cryptic. Also skipped
    some mapreduce where HTable comes through in API. Can do both of
    these stragglers in another issue.
    Generally, if a utility class or standalone class, tried to pass in a
    Connection rather than have the utility or standalone create its own
    connection on each invocation; e.g. the Quota stuff. Where not possible,
    noted where invocation comes from... if test or hbck, didn't worry about
    it.
    Some classes are just standalone and nothing to be done to avoid
    a Connection setup per invocation (this is probably how it worked
    in the new HTable...days anyways). Some classes are not used:
    AggregationClient, FavoredNodes... we should just purge this stuff.
    Doc on what short circuit connection does (I can just use it...
    I thought it was just for short circuit but no, it switches dependent
    on where you are connecting).
    Changed HConnection to super Interface ClusterConnection where safe (
    internal usage by private classes only).
    Doc cleanup in example usage so we do new mode rather than the old
    fashion.
    Used java7 idiom that allows you avoid writing out finally to call close
    on implementations of Closeable.
    Added a RegistryFactory.. moved it out from being inner class.
    Added a utility createGetClosestRowOrBeforeReverseScan method to Scan
    to create a Scan that can ...
    Renamed getShortCircuitConnection as getConnection – users don't need
    to know what implementation does (that it can short-circuit RPC).
    The old name gave pause. I was frightened to use it thinking it only
    for short-circuit reading – that it would not do remote too.
    Squashed commit of the following:
HBASE-12128 Cache configuration and RpcController selection for Table in Connection
HBASE-12581 TestCellACLWithMultipleVersions failing since task 5 HBASE-12404 (HBASE-12404 addendum)
HBASE-12584 Fix branch-1 failing since task 5 HBASE-12404 (HBASE-12404 addendum)