CDK-796: Use CLI conf as DefaultConfiguration.
Merge pull request #263 from rdblue/CDK-796-cli-set-default-conf

CDK-796: Use CLI conf as DefaultConfiguration.
CDK-767: Add null default value to nullable CSV fields.
CDK-761: Fix inferred schema data samples.

This truncates values to 50 characters and removes all but a white list
of printable characters. Unicode characters will be replaced with '.' in
sample data for compatibility with the Hive MetaStore.
CDK-787: Fix Hive backward-compatibility check.

For backward-compatibility with pre-namespaces datasets, Hive dataset
creation checked whether or not a new dataset was replacing an existing
one in the default namespace. If it is, then the schema for the new
dataset is validated to ensure it can read existing data.

The problem was that this check used resolveNamespace, which returns the
default namespace as a match if either the location is null or the
location matches. But the location is almost always null, so this
prevented any table from being created when there is a duplicate name in
the default db. The fix is to consider only new tables that point to a
location matching the existing default table to match for this
validation.
CDK-735: Fix Crunch dataset writes with provided partitioners.

This updates DatasetKeyOutputFormat so that the view constraints are
used when writing to temporary datasets. That ensures that the values
provided by the target view are present so writes to the temporary
datasets don't fail. Fix and test contributed by Ryan Brush.

This also updates the partitioning methods in CrunchDatasets to fix the
CLI copy command when writing to a provided partition. In that case, the
mapper, GetStorageKey, needs the view constraints as well as the
partition strategy in order to create storage keys. The constraints are
serialized using the query map as a stand-in.