scanner:  add result caching

Add ability to cache results of a scan such that they can be used again
in later runs where the user knows that no relevant new files have been
added.

resolves #2
ui:  add keys to force rescan
ui:  handle lack of results being matched
fzsl:  more docstrings