Feature/improve find and scan code

Part of fixing #856 and #858. I'm stilling missing the follow config option, but rest should be more or less done, or at least ready for review.
Am I right in saying that `path.find_mtimes()` doesn't return directories?