Thread group

@agorrod: Alex, here you go, for your review and merge when you're happy.  It's only lightly tested so far, but I'll keep running it and see if anything looks strange.

Please let me know if I misunderstood where you wanted to go with the API.

I updated the runners scripts.

I don't think this will break any Jenkins scripts, but I can't be 100% positive, I did update some of the standard run outputs to reflect the fact there are potentially multiple independent workload configurations running.

Most of the change is pretty straight-forward, but I'm going to note a couple of places in the code that I think are worth checking.