CDK-140: Add backward-compatibility for Hive external datasets.

This adds a method that resolves the namespace that should be used. The
requested namespace is always used if the table exists in that
namespace. Otherwise, the default namespace is used if the table exists
in the default namespace and its location is where the data would have
been stored if the table was created before namespaces.

This moves the FS update descriptor checks into Compatibility so that
those checks can be used when creating a new table that is backed by
data from a table created before adding namespaces. Create in a new
namespace succeeds if the descriptor is compatible with the existing
data.

Error messages in HCatalog are also more helpful and include db and
table names.