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.