EXP-87. Fixup on entity id changes.

This commit updates the RELEASE_NOTES to include information about the
recent entity id change. It also fixes a bug in the method putTuple of
KijiScheme, which prevented the usage of HashedEntityId. putTuple has
been made general to all kinds of entity ids. This fixes a problem in
the express examples that caused test failures.

Reviewed by: daisy
EXP-164. Make prepare environment Optional.

This commit modifies ModelEnvironment so that the Prepare environment
is an optional value. Changes are made to the code in various places
to accomodate this change.

When constructing a ModelEnvironment programatically, users can now
specify either None or Some(prepareEnv) for the prepare environment.
We could make this a little cleaner using default parameters on the
factory method, but the parameter ordering is a little unconducive to
that right now and I didn't want to mess with it in this change.

Reviewed by: robertchu
EXP-156. Separate EntityId implementations from top-level EntityId type.

issue: https://jira.kiji.org/browse/EXP-156
review: https://review.kiji.org/r/852
EXP-166. Make KijiSlice Serializable.

Reviewed by: daisy
Fix regression caused by changes in kiji-schema 1.1.3-SNAPSHOT.

This commit fixes a small regression caused by a change in kiji-schema
version 1.1.3-SNAPSHOT. This copes with a small API change. The build
now works both against current master, and with our dependencies
updated to use the latest snapshot versions.

Reviewed by: daisy
EXP-121. Add the prepare phase to model definitions.

issue: https://jira.kiji.org/browse/EXP-121
review: https://review.kiji.org/r/851
EXP-162. Make use of avro and scala specific classes in model config consistent

issue: https://jira.kiji.org/browse/EXP-162
review: https://review.kiji.org/r/868
EXP-170. Upgrade to use latest root-pom and KijiMR releases.

This commit updates the pom of the project to depend on the latest
root-pom release (1.1.2) and the latest KijiMR release (1.0.2).

Reviewed by: renuka
EXP-123. Define a trait users can extend to implement their own train phase.

issue: https://jira.kiji.org/browse/EXP-123
review: https://review.kiji.org/r/872
EXP-168. Disable regionserver block caching for scans in KijiExpress.

Reviewed by: robertchu
EXP-124. Add the train phase to model definitions.

issue: https://jira.kiji.org/browse/EXP-124
review: https://review.kiji.org/r/887

Reviewed by: kiyan
Update dependency versions for release.
[maven-release-plugin] prepare release kiji-express-0.7.0
[maven-release-plugin] prepare for next development iteration
EXP-176. Stops clobbering mapred.child.java.opts in express script.

This commit modifies the express script so that it does not overwrite
mapred.child.java.opts when launching jobs. This was being done to
disable schema validation. Now, KijiJob is modified to append to
mapred.child.java.opts to accomplish this.

Reviewed by: chris
EXP-125. Add the train phase to model environments.

Changes prepare phase to match train.

issue: https://jira.kiji.org/browse/EXP-125
review: https://review.kiji.org/r/904
EXP-165. Make all model lifecycle phases optional.

This commit refactors the extract and score environments in the
model lifecycle to be optional. (The prepare and train phases
are already optional.)

Reviewed by: kiyan
EXP-175. Refactor how generic cell decoding is enabled.

This commit uses changes in KijiSchema and KijiMR that allow for
configuring how cells are decoded when read to get rid of
ExpressGenericRow and ExpressGenericTable, two adapters we were using
to gain this control. These classes have been removed, and instead
table readers opened by KijiExpress are configured for generic
decoding. Additionally, the ExtractScoreJobBuilder is modified to
ensure generic decoding is enabled when an MR task is run through
KijiMR, by modifying how row data obtained in the produce method
decode their data.

Reviewed by: juliet
Work on EXP-160: Refactor extractors.

Refactor extractors so they can be configured on appropriate lifecycle phases.
EXP-168. Normalize naming of Avro Classes.

The names of Avro records for columns and filters have been changed from
'*Spec' style to 'Avro*' to match other classes and distinguish
from records like 'AvroInputSpec' (which legitimately should end in 'Spec').

issue: https://jira.kiji.org/browse/EXP-168
review: https://review.kiji.org/r/975