SCHEMA-405. Adds KijiRowKeyComponents.

issue: https://jira.kiji.org/browse/SCHEMA-405
review: https://review.kiji.org/r/612
SCHEMA-413. KijiRowKeyComponents should implement equals and hashcode.

Also fixes an error when passing in null as a key component.
Prevents clever byte[] mutabilitiy.

issue: https://jira.kiji.org/browse/SCHEMA-413
review: https://review.kiji.org/r/627
SCHEMA-384. Track clients of a Kiji instance and clients of opened Kiji tables

- ZooKeeperClient that handles ZooKeeper disconnects.
- TableLayoutMonitor providing trackers for:
- table layout updates
- table users (client processes).

issue: https://jira.kiji.org/browse/SCHEMA-384
review: https://review.kiji.org/r/626
SCHEMA-409. Add caching of AvroCellEncoders to table writers.

issue: https://jira.kiji.org/browse/SCHEMA-409
review: https://review.kiji.org/r/623
SCHEMA-401. Update cell write path validation

issue: https://jira.kiji.org/browse/SCHEMA-401