Make the and filter use the cost API.

Lucene 5 ensured that cost() can safely be used, and this will have the benefit
that the order in which filters are specified is not important anymore (only
for slow random-access filters in practice).
Remove MatchDocIdSet in favor of DocValuesDocIdSet.
Fix TopHitsAggregator to not ignore the top-level/leaf collector split.