Fix typos and miscalculations

- 'us' and 'avg' was mashed together in the summary
- avg used st->num_cpus regardless of how many cores that were in fact
  being used.
- middle used the entire array regardless of number of cores in use, it
  should instead keep track of number of used cores and use that as an
  index into the (max|min)_us_list[]

Signed-off-by: Henrik Austad <haustad@cisco.com>
cleanup, put things in order and make sure everything is intialized properly

Signed-off-by: Henrik Austad <haustad@cisco.com>
Do not start processing before all threads have been created

Process-creation create a lot of kernel-work and will induce jitter in
the scheduling. We are not measuring this kind of jitter and should
avoid this at all cost (false positives, if you like).

This will cause semtest's marcos to wait for the master thread to signal
readiness before proceeding, hopefully removing this jitter from the
output.

Signed-off-by: Henrik Austad <haustad@cisco.com>