Add ShardSpec Lookup

Optimize choosing shardSpec for Hash Partitions
if we make this an arraylist, can we just pull from the list directly and avoid the map?