WL#5397: extend EXCHANGE PARTITION to make use of index when possible


Extend WL#4445 EXCHANGE PARTITION WITH TABLE to make use of INDEX if possible
when verifying if the data in the table to be exchanged with a partition matches
the partitions definition.

i.e if the table have an index on column a, and the partitioned table is ranged
partitioned on column a, it would only need to do two index lookups, one if
there are any rows before the start of the partition range, and one if there are
any rows after the end of the partition range. This will be much faster than
scanning all rows in the table.