Make reporting totally functional 

Don't set aside a `*reports*` var to be rebound to whatever test run is in context for a given thread.   Instead, just have the callers pass in the reports they wish to process.