- move the portion of dedupe_results() that dedupes an extent list into it\'s own function.
- dedupe_extent_list() does it's own cleanup now of files and the dedupe
  context now
  - this fixes an fd leak
  - the flow of dedupe_extent_list is also much easier to read
  - a small change in dedupe.c (explained below) enables this

- Move MAX_DEDUPES_PER_IOCTL into dedupe.c
  - add_extent_to_dedupe now returns a value signalling the caller when
    we have reached the max number of items for our dedupe list.
  - *new_dedupe_ctxt() checks max_extents against MAX_DEDUPES_PER_IOCTL now
- unravel the rest of run_dedupe_and_close_files()   -
 move the results printing to it's own function   - call that and
 dedupe_extents() directly in dedupe_extent_list()

- as a result, we no longer need get_target_dedupe_info()
- minor whitespace fix
- don't double add the target file to our dedupe context

- failure to open the last file in our dupes list could cause
  dedupe_extent_list() to skip the final dedupe pass. Fix this by
  catching the situation and dropping to dedupe before we exit.

- if we've skipped adding some files.  add_extent_to_dedupe()
  might tell us to continue when we're actually done. Catch that
  too.
- while loop in dedupe_results() can be trivially simplified
- open filerec before context alloc in dedupe_extent_list

- move dedupe_extent_list's file close code into it's own function
  - call this on exit, so we don't leak fds in case of ENOMEM
    from context allocation.
- minor typo fix
- move debug code into it's own header file this way files outside of
  duperemove.c can have debug prints.
- transition dedupe.c over using the dprintf macro
- clean up verbose and debug prints