Aggregation top_hits: Move sort resolution to the reduce method, so it is always guaranteed to be invoked.
Aggregations top_hits: Fixed inconsistent sorting of the hits

In the reduce logic of the top_hits aggregation if the first shard result to process contained has no results then the merging of all the shard results can go wrong resulting in an incorrect sorted hits.
This bug can only manifest with a sort other than score.

Closes #7697