CDK-46, CDK-153, CDK-261: Add Hive validations

This branch several outstanding Hive validation checks, as well as other consistency checks between a descriptor's schema and partition strategy. All checks that throw exceptions should only catch cases that would have caused errors later. For example, Hive checks throw IllegalStateException when the Hive MetaStore would have thrown a MetaException. In places where incompatibilities are detected but are currently allowed, a warning is produced instead of an Exception. This happens when creating FS datasets that are not compatible with Hive.