Bug fix for table caching + cleanup of tostrings.

Caching was closing HTables on shutdown, but the CoprocessorHost was also closing the same tables,
causing the concurrentModificationException on shutdown sometimes, which would cause the test
to hang. Also, using a SoftReference for the HTable doesn't work b/c the coprocessorHost has
a strong reference to the tables, causing them to never be cleaned up. Solution was to switch to
a standard LRU cache for the HTables; fortunately, also meant much simpler code.

Also, this meant fixing up some tests (and adding a new one for the caching factory).
Further, adding a rowkey tosString to IndexUpdateManager so we can better visualize the
updates being made.
Merge branch 'master' of github.com:forcedotcom/phoenix