SCHEMA-469. Fix VersionInfo.areInstanceVersionsCompatible().
SCHEMA-486. Force the use of hadoop1 bridge if using hadoop 0.x.y.

Right now the kiji script assumes the presence of hadoop 1.x or
hadoop 2.x but not a hadoop 0.x which this addresses.

Reviewer: milo
SCHEMA-488. Execute the async command logging before the command runs.

The complementary fix is in kiji-checkin to eliminate the awful 500ms
sleep time. Since most of the commands take a fair amount of time, the
chances of having the daemon logger thread not finish in time should be
low.

Reviewer: aaron
SCHEMA-144. Improve KijiRowFilter.Context Javadoc.

Reviewed by: taton
SCHEMA-493. KijiSchema clients should recognize system-2.0 Kiji instances.

issue: https://jira.kiji.org/browse/SCHEMA-493
review: https://review.kiji.org/r/859
SCHEMA-474. Table readers are thread unsafe

 - HBaseKijiTable maintains a pool of HTable instances.
 - Table readers/writers/scanners/pagers acquire HTable instances from the pool.
 - Updated JavaDoc with thread-safety note.

issue: https://jira.kiji.org/browse/SCHEMA-474
review: https://review.kiji.org/r/810
SCHEMA-497. HFileLoader cannot use HBaseKijiTable.getHTable() anymore.

Move HFile bulk-loading logic into HBaseKijiTable.
Symmetric change in KIJIMR-227.

issue: https://jira.kiji.org/browse/SCHEMA-497
review: https://review.kiji.org/r/863
SCHEMA-498. Need a utility class to uniquely identify a KijiSchema client.

Adds a utility class to uniquely identify a JVM.

issue: https://jira.kiji.org/browse/SCHEMA-498
review: https://review.kiji.org/r/870
SCHEMA-499. HBaseKiji owns a (potentially shared) ZooKeeperClient.

- Adds HBaseKiji.getZKClient() with an integration test.
- Implements HBaseKiji.toString()
- Various logging and preconditions cleanup/fixes.

issue: https://jira.kiji.org/browse/SCHEMA-499
review: https://review.kiji.org/r/871
Updates archetype README to be filtered correctly.

Reviewed by: lsheng
SCHEMA-501. TableLayoutMonitor user tracker reports a multimap (user ID -> layout IDs).

- Update the way clients registers themselves as users of a table layout.
- Add TableLayoutMonitor.unregisterTableUser().
- Add and improve unit-tests for TableLayoutMonitor.
- Tiny fixes in ZooKeeperClient.

issue: https://jira.kiji.org/browse/SCHEMA-501
review: https://review.kiji.org/r/878
SCHEMA-502. Create tool base class and move common CLI tool functions there.

All the CLI tools extend from the KijiClientTest but these tools all have the
same common methods that should be housed in the common KijiToolTest class. Also
refactored the TestVersionTool to use these methods as it was not re-using the
common methods that were previously duplicated in the other tool test classes.

Reviewer: taton
SCHEMA-482. Plug ZooKeeper layout notifications in HBaseKijiTable.

 - HBaseKijiTable registers itself as a live client of a Kiji table.
 - HBaseKijiTable subscribes to layout notification from ZooKeeper.
 - Adds an integration test for the general behavior.

issue: https://jira.kiji.org/browse/SCHEMA-482
review: https://review.kiji.org/r/862
SCHEMA-41. 'kiji layout' should separate versions with newline.

Reviewed by: taton
SCHEMA-335. FormattedEntityId does not support a null salt.

Also fixes SCHEMA-489 (NPE in KijiTableLayout if RowKeyFormat2.salt is null).
SCHEMA-436. Table layout updates must push notifications to ZooKeeper

 - Introduce HBaseTableLayoutUpdater that should eventually handle all
   of the table layout updating process.
 - Minimally plug the layout updater into HBaseKiji.modifyTableLayout()

issue: https://jira.kiji.org/browse/SCHEMA-436
review: https://review.kiji.org/r/888