Reduce compaction iterator status checks
Reduce compaction iterator status checks

Summary:
seems it's expensive to check status since the underlying merge iterator checks status of all its children. so only do it when it's really necessary to get the status before invoking Next(), i.e., when we're advancing to get the first key in the next file.
Closes https://github.com/facebook/rocksdb/pull/1691

Differential Revision: D4343446

Pulled By: siying

fbshipit-source-id: 70ab315

vmx/rocksdb,wat-ze-hex/rocksdb,vmx/rocksdb,Andymic/rocksdb,vmx/rocksdb,Andymic/rocksdb,SunguckLee/RocksDB,wat-ze-hex/rocksdb,vmx/rocksdb,Andymic/rocksdb,bbiao/rocksdb,wat-ze-hex/rocksdb,SunguckLee/RocksDB,Andymic/rocksdb,bbiao/rocksdb,wat-ze-hex/rocksdb,SunguckLee/RocksDB,vmx/rocksdb,bbiao/rocksdb,Andymic/rocksdb,SunguckLee/RocksDB,vmx/rocksdb,bbiao/rocksdb,SunguckLee/RocksDB,wat-ze-hex/rocksdb,SunguckLee/RocksDB,wat-ze-hex/rocksdb,wat-ze-hex/rocksdb,Andymic/rocksdb,bbiao/rocksdb,bbiao/rocksdb,Andymic/rocksdb,bbiao/rocksdb,SunguckLee/RocksDB,vmx/rocksdb,Andymic/rocksdb,SunguckLee/RocksDB,bbiao/rocksdb,vmx/rocksdb,wat-ze-hex/rocksdb