Aggs: Change nested agg to execute in doc id order

By executing in docid order the child level filters don't require random access bitset any more and can use normal docid set iterators. Also the child filters don't need the bitset cache anymore and can rely on the normal filter cache.

Note: PR is against 1.x branch
Can you leave a TODO about whether this should forcefully be cached? (I agree this behaviour is consistent with what we have had until now but since one of the motivations for this change is that the fixedbitset filter cache was taking too much memory, I'm wondering if we should have an option for caching or try to be smarter (eg. only cache if we have evidence of reuse)).