ACCUMULO-1833 Squashed merge of multiple commits that let MTBW work much more efficiently with concurrent access.

Squashed commit of the following:

commit 58d61759cdc673cc5ee86ad1176b7db3b2955679
Author: Josh Elser <elserj@apache.org>
Date:   Fri Nov 15 14:26:29 2013 -0800

    ACCUMULO-1833 Recommended changes from Keith regarding previous fixes.

    Guava Cache Exception throwing is covered in tests. Added additional test to exercise table rename. Updated state check
    to be more active and be less susceptible to a paused thread.

commit dd73f52180ca00623469850c4b2d4b03c3768837
Author: Josh Elser <elserj@apache.org>
Date:   Tue Nov 12 18:00:07 2013 -0800

    ACCUMULO-1833 Change out the AtomicInteger to AtomicLong to make it slightly more robust.

commit 9f7916db23adfd561254b432e5f5a5c4e9b02e54
Author: Josh Elser <josh.elser@gmail.com>
Date:   Fri Nov 8 11:36:06 2013 -0500

    ACCUMULO-1833 Simple usage of AtomicInteger to catch table cache
    invalidations and propagate them through MTBW's cache.

commit e8cb6c8ef53afaf41eb9e574607cb03093eec1e8
Author: Josh Elser <josh.elser@gmail.com>
Date:   Fri Nov 8 10:55:01 2013 -0500

    ACCUMULO-1833 Remove Connector client methods, but leave constructor on
    MTBW in place for testing purposes.

commit b6c6c0270a8bf52d99e0463b2acc98910c4087ca
Author: Josh Elser <josh.elser@gmail.com>
Date:   Thu Nov 7 22:22:19 2013 -0500

    ACCUMULO-1833 Ensure that we close the MTBW at the end of the test to
    avoid it getting GC'ed later and trying to flush when ZK and the
    instance is already gone.

commit a11883e62de57eaacf0aba6a5019b7abe79563ec
Author: Josh Elser <josh.elser@gmail.com>
Date:   Thu Nov 7 22:21:29 2013 -0500

    ACCUMULO-1833 Update MTBW close method to match what TSBW is doing
    (update internal boolean then perform the close)

commit e634ca03f326070a42a811d1ed9a181df5214a03
Author: Josh Elser <josh.elser@gmail.com>
Date:   Thu Nov 7 20:54:20 2013 -0500

    ACCUMULO-1833 Another instance of primitive without synchronization being used instead of
    AtomicBoolean with expected concurrent access.

commit ffe8c243dec4d7c7947cc6512394e9a70a29bc77
Author: Josh Elser <josh.elser@gmail.com>
Date:   Thu Nov 7 20:37:28 2013 -0500

    ACCUMULO-1833 Tests for expected functionality in the face of table
    operations.

commit 721616e3ff6a4200fd326b7f1ce4be6e1298a7ec
Author: Josh Elser <josh.elser@gmail.com>
Date:   Thu Nov 7 16:49:41 2013 -0500

    ACCUMULO-1833 Rework the getBatchWriter method on MTBW to remove
    zookeeper lock contention and get better concurrent throughput.
Merge branch '1.5.1-SNAPSHOT' into 1.6.0-SNAPSHOT

Conflicts:
	core/src/main/java/org/apache/accumulo/core/client/impl/MultiTableBatchWriterImpl.java
ACCUMULO-1833 Fix merge to 1.6.0 regarding TCredentials->Credentials
ACCUMULO-802 Apply Sean Hickey's patch (v5)
ACCUMULO-802 Fixed NullPointerException during CloneTable due to loadbalancer trying to get the configuration before the namespace is put under the table in zookeeper. Fixed another NullPointerException with the -tn shell option for online, offline, and du. Added -tn option to shell config command. First attempt at adding a randomwalk test for namespaces, fails currently.
ACCUMULO-802 Updated ShellServer test with code that didnt fit in the patch correctly
ACCUMULO-802 Fixed a problem with RandomWalk's CloneTable, forgot to have it create a namespace. Randomwalk doesn't fail as fast, but still doesn't run correctly
ACCUMULO-802 Many small fixes. Largest change was adding CloneNamespace which clones all the tables in a namespace to a new namespace.
ACCUMULO-802 Lookup namespace config dynamically per table
ACCUMULO-802 Added global shell completion for table namespaces with -tn (just like -t for tables). Fixed problem with RenameTable to a new namespace copying over the old namespace configuration to the new table. Many other minor fixes. A few tests fail due to CloneTable not working until ACCUMULO-1565 is fixed
ACCUMULO-802 fixed an import problem in RenameTableNamespace. Commented out problematic code for cloning tables until ACCUMULO-1565 is fixed
ACCUMULO-802 added -tn option to the TablesCommand to allow listing of tables within a specific namespace
ACCUMULO-802 added a Total to the DUCommand to know the disk usage of a whole namespace or for everything
ACCUMULO-802 added iterators and constraints for namespaces. Currently the constraint part of the test fails, but iterators work.
ACCUMULO-802 working on namespace constraints, test currently fails, doesn't update tables constraints until something else triggers a reload.

Conflicts:
	server/src/main/java/org/apache/accumulo/server/conf/TableNamespaceConfiguration.java
	test/src/test/java/org/apache/accumulo/test/TableNamespacesTest.java
ACCUMULO-802 updated ConstraintCommand to work with namespaces
ACCUMULO-802 changed TableNamespaceConfiguration to update it's tables confs when it changes
ACCUMULO-802 added TableNamespaceConfWatcher
ACCUMULO-802 finished adding constraints to namespaces, works correctly.
ACCUMULO-802 removed useless line from testing