Improved support for multiple mocks

When multiple mocks were being processed, not all were found.
Particularly on slow systems.

This seemed to be an issue because 'done(true)' was being called when
the first async task completed. If the remaining mocks hadn't yet
started processing, they'd get missed.

Added a count to keep track of this.