Change external runner interface to spawn fewer processes.

This passes the expected number of hits and/or expected duration through
to the external runner process, so that it can manage that loop internally
rather than spawning a new process for each hit.