Multiple changes:
(1) Added new option "keepallorig" which means no files in 'original'
path(s) prefixed by // will be deleted.
(2) added new option "mustmatchorig" which limits searching to only
find matches wherein at least one file is in 'original' path(s).
(3) this required some structural change so that more than one input
path can be designated as original.

So why add these options?
Consider the case where you are about to reformat a partition and, you
think everything on it is just a backup of other files on your main system.
If you do:
rmlint /path/to/old/filesystem ///all/your/other/files

... then it will take a very long time to run because rmlint will look
for duplicates across all those filesystems.
Instead, with:
rmlint --mustmatchorig --keepallorig /path/to/old/filesystem \
///all/your/other/files

... rmlint will now only look for dupes in the old filesystem which have
originals in your main filesystem.

(4) To make this work, it was going to need extra code in several
routines (at the fingerprint, md5 and paranoid level) to avoid
unneccesary comparisons.  Instead it ended up a lot neater to kind of
unify the different comparison routines into one (findmatches), which
sorts into sub-islands of similar files and then calls itself
recursively to submit those sub-islands to the next level of rigour.
I nice spin-off from this is that it makes it very easy if you want to
add some more intermediate check levels of rigour (eg for very large
files, you could do md5 comparisons on 25, 50, 75% of the file).
(5) As part of this, I had to drag a couple of routines across from
mode.c into filter.c (which makes the level of changes look a lot more
severe than it actually was).
(6) The above changes broke the existing method for totalling up the
total GB of files that can be deleted so I put in a simple global
running total instead.
(7) I also changed the -o optional argument to a required one, which
makes for a slightly nicer "-o myfile" style rather than "-omyfile" but
I think it breaks the option for no log file.  Anyway maybe this option
still needs a bit more work.

I think that was about all but may have missed something.

TODO:  I don't think the memory 'free' commands are right yet so there
is probably some memory leakage.
Added check when kicking double paths so that non-preferred paths are kicked preferentially.
Added check when kicking double paths so that non-preferred paths are kicked preferentially.
Added option to invert tagging of original paths, ie // means non-original.
Merge branch 'master' of https://github.com/SeeSpotRun/rmlint
fixed error in list removal of b->next
Added option -D (--sortcriteria) to allow more options in deciding which file to keep.
Just three sub-options for now (mtime, alphabetical or order in which paths were entered).
Currently no checking for invalid options (anything other than aAmMpP will be ignored).
fixed missing "break" in switch for sort criteria to select original
Use HTTPS for the PKGBUILD
Merge branch 'master' of https://github.com/SeeSpotRun/rmlint into develop
removed redundant line
Tidied up "-o --output" option and documentation.
Note -o now has non-optional second argument;
	nil output is specified as -o ""
Fixed error in calculation of total duplicates.
Merge branch 'devel' of https://github.com/SeeSpotRun/rmlint into develop
Fixed error introduced in rm_double_paths (didn't handle start or end of list properly)
Extended sort criteria of rm_double_paths to do secondary sort by dev and then by basename, to improve detection of hardlinks.
Added option -H to also search for hardlinked dupes (default ignore).
Note that due to bind mount issue, hardlinks with same basename are still ignored regardless of this setting.
Merge branch 'devel' of https://github.com/SeeSpotRun/rmlint into develop
Reformatted the source code (astyle --style=google $(find src -iname "*.[ch]")
Added summary output of command-line inputs;
Default now displays this summary and waits for user confirmation;
(bypass confirmation with new option "-q --skip_confirm")
Added new file traverse.c (fts implementation) and linttests.c.
Added link library lelf for nonstripped binary checking.
Removed flag D_FILE_OFFSET_BITS=64 (incompatible with libelf).