This PR adds support for testing epoch acummulators for per merge history
But the big thing is consolidating all the portal simulators into 1 simulator.
This is helpful, because then there is less repeated code, builds don't randomly fail when dependencies of dependencies of dependencies make a breaking change, on a minor version.
If we wanted to test combinations of multi portal network interactions we we used to need to make a new simulator for each combination which is a big mess.
This PR adds support for testing epoch acummulators for per merge history
But the big thing is consolidating all the portal simulators into 1 simulator.
This is helpful, because then there is less repeated code, builds don't randomly fail when dependencies of dependencies of dependencies make a breaking change, on a minor version.
If we wanted to test combinations of multi portal network interactions we we used to need to make a new simulator for each combination which is a big mess.
So in short this change is a overall positive