scan: work around OS X's lack of fstatat() and readlinkat().

we emulate them by keeping a pointer to the path when we start the scan, and
returning back to that directory after the scanning process is complete.
main: Extend interactive mode a little to allow for keeping all matches.

In some situations it is desirable to not delete any matches.
main: Fix a bug which could lead to everything being deleted.