Global modules need per thread provenance

The global module had a bug where all streams were using the same data structures to record their provenance. Now we set aside space for each Stream to have its own provenance information.
As part of this change, the TriggerResultsInserter, which is a global module which is handled in a special way by the framework, needs its doPreallocate method called.