We should update the qe.Timer context manager to enable multiple runs as an option adding runs= and looping over the context timing each run. The default behaviour is a simple timer, but if runs=3 we should calculate: minimum, maximum, average, and elapsed time would be a list of times.