Support multiple ranges in domain when retrieving partitions

It make the selection on full partition keys query directly retrieving the result using partition key query instead of token range query then filter out at Presto side.

e.g. select * from test where (a=1 or a=2 or a=3) and (b=3 or b=4)

where a and b is the partition keys.
the direct queries are 
select * from test where a = 1 and b = 3
select * from test where a = 2 and b = 4
select * from test where a = 2 and b = 3
select * from test where a = 2 and b = 4
select * from test where a = 3 and b = 3
select * from test where a = 3 and b = 4

instead of select * from test where token(a,b) > start_token and taken(a,b) <= end_token
then at Presto side, filter the results.