Add option to ignore (or fail on) very long records with readCSV command
Fix exception swallowing in CLI commands.

The CLI commands were using a try/catch block to determine if the
incoming dataset identifier was a URI or a name. If the URI was a
dataset URI but another operation failed with IllegalArgumentException,
for example a problem during creation, then the catch would retry the
operation assuming the input was a dataset name.
Add update command to add properties and evolve schemas.
Add mapping-config command to create column mappings.

This works like the partition-config command, where arguments are:
* <source>:key for key mappings
* <source>:version for occVersion mappings
* <source>:<col-family>[:<col-qual>] for all other mappings

The mapping type is determined by the schema type for non-key and
non-OCC mappings. If the field is an int or a long, then a counter is
used. If it is a record or a map, key-as-column is used. Otherwise, the
field is column-mapped.

If the column qualifier is missing for counter or column mappings, then
the source name is used.
Add column mapping option to create command.
Hide dataset repository selection options.

Before dataset URIs were supported, the CLI selected the dataset
repository based on options like --use-hbase and --directory. This was
limiting because only one repository could be selected. Now that URIs
can be used to identify a dataset in a single option, this is no longer
necessary. The old behavior is still around for backward-compatibility
and for ease of use (Hive is the default), but there is no need to keep
these options in the help menus.
Update CLI examples for dataset URIs and new options.
Add MockRepositories to kite-data-core test-jar.

This refactors TestDatasets and tests in the CLI to use the same mock
repository code.
Add tests for update command.
Add test for mapping-config command.
use Locale.ROOT to make behaviour insensitive to I18n issues
cleanup messages
Added config to force tests to run using IPv4 to speed up tests.
Enable CombineFileInputFormat on avro & parquet

Enable Crunch's use of CombineFileInputFormat for Avro and Parquet
files (as CombineFileInputFormat can offer useful performance
improvements).
prevent potentially gigantic error messages in readCSV
CDK-488: Add TaskUtil.partition.

This utility method regroups a PCollection using a specified number of
reducers. This can be used to control the number of files created by a
copy job. The number of reducers is approximately the number of files
produced, but at least one file per partition will be created.

This is implemented in two ways. If the dataset is partitioned, the
entities are grouped by partition key so that each partition is handled
by one process and the number of files created is minimized. If the
dataset is not partitioned, this will perform the regroup operation
using the entities themselves as keys to produce the right number of
files, one per write process.
CDK-488: Add tests for --no-compaction and --num-writers.
CDK-488: Move partition methods to private.
CDK-488: Add Job instantiation to Hadoop compat.

This also updates DynConstructors so that the constructor class is a
DynMethod and can be used as a method implementation. This was needed
because the constructor for Job has been deprecated in favor of
Job.getInstance, so one alternative needs to be a constructor and the
other a method.
CDK-488: Update to 2.3.0 to make copy test pass.

This updates to hadoop 2.3.0 so that the LocalJobRunner uses more than
one reducer and passes when we check that the correct number of files
are created. This uses the LocalJobRunner.setLocalMaxRunningReduces, and
does not run the test if it is not present so that the test is ignored
in the cdh4 and hadoop-1 profiles.