- Added a new function, maybe_hard_link(), which now holds the code
(moved from hard_link_cluster()) that checks the inode/dev of an
existing file and either does nothing (when properly linked), or
removes the existing file before calling hard_link_one().
- Changed hard_link_check() so that it checks if the master item is
marked with FINISHED_LINK (in its hlindex int), and if so, it
finishes the current file by calling maybe_hard_link() (and
marking it as finished too). Otherwise it marks the item as
skipped by setting hlindex to SKIPPED_LINK.
- Fixed the outputting of an error in hard_link_one() so that the
message is always output when the caller did not request "terse"
processing.
- Changed hard_link_cluster() so that it marks the master item with
FINISHED_LINK and then links only the skipped items (marking them
with FINISHED_LINK too).