Creates a performance timer that runs test functions a number of times to
generate timing samples, and provides performance statistics (minimum,
maximum, average, and standard deviation).
A task for the performance timer to measure. Callers can specify optional
setUp and tearDown methods to control state before and after each run of the
test function.