btrfs: loop over dedupe range in btrfs-extent-same

Previously, btrfs_ioctl_file_extent_same() would limit each dedupe call
to 1 megabyte.  While we want to keep a per-dedupe limit (for memory
consumption reasons), it's better if we can loop over the range to be cloned
for some value larger than 1 megabyte. This patch introduces a per-operation
limit of 16 megabytes, and loops over the range to be deduped until either
the operation is satisfied or we hit our limit.

Signed-off-by: Mark Fasheh <mfasheh@suse.de>