Btrfs: try to avoid doing a search in btrfs_next_leaf
Things like btrfs_drop_extents call btrfs_next_leaf to see if there is
anything else they need on the next leaf. This will result in a re-search,
but if we are already at the last leaf in the tree or if the first item in
the next leaf doesn't match the objectid of the one we want we can just
return without doing the search at all. This helps in things like fsync()
where our tree is pretty shallow and we're likely to be on the last leaf
often. Thanks,