Better log messages for waitFor.timeout events

Whenever a wait timeout occours, there is no information on what is being waited on - even if you have verbose debug logging turned on.

This PR adds a `details` property bag to all the waitFor.timeout events, and updates tester to output friendly, informative messages based on that property bag.

Some other minor issues:

1. `step.timeout` didn't have the same params as onStepTimeout, so I updated that too. Without looking through the git logs, I'm guessing that the events came after the on*Timeout callbacks. Is there plans to deprecate this?
2. `waitFor.timeout` would output a warning, but because it was throwing in onWaitTimeout, it would just error out anyways. I removed the warning and put all the error logic there, and no-op'd the onWaitTimeout.
3. the clitests were rerunning capser every time it checked for a string. I changed it to only run once, and it was a big perf boost, ~2-3x.