Optimize range-delete aggregator call in merge helper.
Optimize range-delete aggregator call in merge helper.

Summary:
In the condition:
```
if (range_del_agg != nullptr &&
    range_del_agg->ShouldDelete(
        iter->key(),
        RangeDelAggregator::RangePositioningMode::kForwardTraversal) &&
    filter != CompactionFilter::Decision::kRemoveAndSkipUntil) {
...
}
```
it could be possible that all the work done in `range_del_agg->ShouldDelete` is wasted due to not having the right `filter` value later on.
Instead, check `filter` value before even calling `range_del_agg->ShouldDelete`, which is a much more involved function.
Closes https://github.com/facebook/rocksdb/pull/2690

Differential Revision: D5568931

Pulled By: sagar0

fbshipit-source-id: 17512d52360425c7ae9de7675383f5d7bc3dad58

bbiao/rocksdb,SunguckLee/RocksDB,bbiao/rocksdb,bbiao/rocksdb,bbiao/rocksdb,bbiao/rocksdb,Andymic/rocksdb,SunguckLee/RocksDB,Andymic/rocksdb,Andymic/rocksdb,Andymic/rocksdb,SunguckLee/RocksDB,Andymic/rocksdb,bbiao/rocksdb,Andymic/rocksdb,bbiao/rocksdb,SunguckLee/RocksDB,bbiao/rocksdb,Andymic/rocksdb,SunguckLee/RocksDB,SunguckLee/RocksDB,SunguckLee/RocksDB,Andymic/rocksdb,SunguckLee/RocksDB