Merge

The main stuff here is:
(1) better test in rm_file_list_remove_double_paths (can now distinguish between rbind loops and hardlinks, even if they have same basename)
(2) emtydirs testing is now recursive.  I use a char array as a crude stack to keep track of this.  At the moment if the recursive empty directories go more than 100 deep I think the stack will break.

I tested both of the above on the pre-list-merge code and they worked ok.
This merged version runs but I don't think the group sorting by lint type is working - that's about the limit of my debugging skills ;-)