remove stale $Id$
Add warnings if running tasks leaves the ZOOM connections idle. (Doesn't currently help, I think because is_idle() returns 0 if there is an END event waiting.)
run() calls set_otions() again at the end to restore old values.
Call ->set_options()
Logging changed and made more coherent
Simplify
Many radical changes to the IRSpy engine, enabling a far more asynchronous approach. Work remains to be done on the engine, but there's enough here that test can now be written.