EXP-185. Make extractor in ScoreProducer optional

Extractor is now an Option, and default input/output fields
are used if it is not specified.

issue: https://jira.kiji.org/browse/EXP-185
review: https://review.kiji.org/r/1193
EXP-220. Improve KijiOutput API

issue: https://jira.kiji.org/browse/EXP-220
review: https://review.kiji.org/r/1187
EXP-153. Support joins on entity_ids.

Changes the entityId implementations to support joins. EntityIds are created by
users or when reading from a KijiInputSource and all entityIds will have a list
of "components" which are either the formatted entityId components or a single
component reflecting the raw HBase rowkey. The join semantics are as follows:
1) If a user wants to join two pipes ultimately sourced from a KijiInput, this
is okay as long as the components are the same. For hashed keys, this will
compare the hashed keys so there is a theoretical possibility that two rows
could be considered the "same" even though they are different entity_ids that
happened to hash to the same value.
2) If a user wants to join a Kiji table with a data source like a text file,
this is okay because the user can create an entity id from the components (e.g.
EntityId("hello", "world")) and join that with the entity_id coming out of the
Kiji table.
3) If a user wants to join a Kiji table that has a hashed key with a data source
containing the "unhashed" value, the join will fail unless the user does the
hashing to match that of what we stored.

Reviewer: robert
EXP-153. Add a factory method to create a hashed entityId

Add a method to construct a hashed entity_id given the HBase
row key.

Reviewer: robert
EXP-236. Local mode test(s) fail non-deterministically with a ZooKeeper "node already exists" exception.

 - Switch to JUnit runner.
 - Remove ScriptRunnerSuite (ScriptRunner is deprecated and being removed/replaced).
 - Non-deterministic behavior is likely caused by SCHEMA-581.

issue: https://jira.kiji.org/browse/EXP-236
review: https://review.kiji.org/r/1220
EXP-236. Upgrade to kiji-schema 1.3.1-SNAPSHOT

This fixes zookeeper "node already exists" exception.

Reviewed by: robertchu
EXP-127. Provide a trait users can extend to implement their own evaluate phase.

issue: https://jira.kiji.org/browse/EXP-127
review: https://review.kiji.org/r/1204
EXP-128. Add evaluation phase to model definition.

issue: https://jira.kiji.org/browse/EXP-128
review: https://review.kiji.org/r/1228
DOCS-107. API doc for KijiInput needs to include the syntax required to use the object

issue: https://jira.kiji.org/browse/DOCS-107
review: https://review.kiji.org/r/1230
Fix Hadoop flags being passed to the express script.

Also adds an additional Hadoop flag to `express jar`, which should
be removed when we add an express keyword for the model lifecycle.