fix evaluateShards to have same semantics as upstream MapReduceIndexerTool, port some generic MapReduceIndexerTool features