Add missing call to scanningFinished
Add a RateLimitingScanListeners utility.

Users may use RateLimitingScanListeners to get a new ScanListener that drops
recordRead events occurring more than once in a given period of time.