run_set
run_set.negate()
[run_set] improve run merging
[run_set] add another unit test
[subtracting_span_iterator] recode using run_set
[features] test for thin_dump with small metadata
[metadata_dumper] Fix bug where ranges were appearing in all devices for small metadata.

Author: Teng-Feng Yang
[run_set] use lower_bound to skip preceeding entries more quickly.
remove old FIXME
stop using O_DIRECT until the cach does async io