SCHEMA-66. Annotate interfaces for client subclassing.

Marked all interfaces and abstract classes as @Sealed or
@Extensible to tell users how they should use them.

Signed-off-by: Milo <milo@wibidata.com>
SCHEMA-114. 'kiji install' can cause a NullPointerException.

- KijiURI validates instance and table names.
- KijiInstaller checks that KijiURI specifies an instance name.

Signed-off-by: Christophe Taton <taton@wibidata.com>
SCHEMA-129 . KijiTableReader is now an interface.

Signed-off-by: Christophe Taton <taton@wibidata.com>
SCHMEA-17 DeleteTool replaces and improves DeleteTableTool

Signed-off-by: Robert Chu <robert@wibidata.com>
SCHEMA-128. Add minimum size option to KijiTablePool.

The option to require a minimum table pool size is added in this commit.
Kiji will aggressively open the min number of connections the first time a
table connection is requested and will maintain at least that size of a pool
indefinitely.

Signed-off-by: Milo <milo@wibidata.com>
SCHEMA-159. Fixes KijiRowData.getValues() value order.

Signed-off-by: Christophe Taton <taton@wibidata.com>
SCHEMA-157. Adds KijiTable.getURI()

Signed-off-by: Lee Sheng <lsheng@wibidata.com>
SCHEMA-97. Refactor Kiji to be an interface.

The original Kiji is now HBaseKiji.
Also added a KijiFactory & HBaseKijiFactory.

Signed-off-by: Lee Sheng <lsheng@wibidata.com>