[EchoClient] changes to easier debug our IO evaluation artifact

* Use emper::lib::math::RunningAverage instead of doing it manually
* Count the unexpected Echos, print a error to the log and go continue
* Return a duration and error message pair from our clientIteration* functions
* Print the current iteration on error
* Wait 10 seconds after an error before terminating
21 jobs for do-not-fail-on-unexpected-echo in 10 minutes and 11 seconds (queued for 2 seconds)