KUDU-2671 update partition schema in catalog when dropping range

When dropping a range with custom hash schema from a table, it's
necessary to update the partition schema information stored in the
system catalog correspondingly.  That was missing in one of the previous
patches and this patch fixes the deficiency.

This patch also adds a test scenario to spot regressions, if any.  The
scenario was failing before the update in CatalogManager introduced
in this patch.

In addition, I updated the PartitionSchema class to store only the
information on ranges with custom hash schemas in the
ranges_with_custom_hash_schemas_ field.  I also added unit test
scenarios to cover the updated functionality of the PartitionSchema
class.

A follow-up patch is needed to refresh PartitionPruner's code since
the logic in PartitionPruner::Init() is expecting that the whole list
of table's ranges would returned by the
PartitionSchema::ranges_with_hash_schemas() method.

This is a follow-up to 250eb90bc0e1f4f472f44de8a23ce213595d5ee7.

Change-Id: Ib78afdd1a358751dca43f564c5d8e69191f165d4
Reviewed-on: http://gerrit.cloudera.org:8080/18642
Reviewed-by: Mahesh Reddy <mreddy@cloudera.com>
Reviewed-by: Abhishek Chennaka <achennaka@cloudera.com>
Tested-by: Alexey Serbin <alexey@apache.org>
Reviewed-by: Attila Bukor <abukor@apache.org>
8 files changed