[Compaction] Add a test for external compactor.

Summary:
This diff includes a prototype implementation of an external compactor
in compactor_test.cc, in which it fully disables RocksDB's BG compactions
and purely uses an external compactor.

This diff also addresses some corner case issues of using external compactor.

Test Plan:
make compactor_test -j32
./compactor_test

Reviewers: sdong, ljin, igor, dhruba

Subscribers: leveldb

Differential Revision: https://reviews.facebook.net/D22155