benchmark setup/teardown per test iteration

* HAD-544
* Add benchmark option "setupPerIteration" to have setup and teardown functions called for every iteration of the test run
* Fix issue for async tests where the timer was including the time to dispatch the test via a timeout. Now the timer starts immediately before the test code, and is stopped first thing in resolve.
* Add tests for setupPerIteration=true for sync and async (deferred)