[dm-btree, dm-thin] Introduce dm_btree_find_first_key() and use to speed up discard of empty regions.

Discard of 100G region goes from 35s to 0.002s on my test box.

This slows down the discards of provisioned areas since we're doing a
redundant lookup before the remove.  Will roll together find and
remove in next patch.