Improve the performance of the ADC module by adding threads
Created by: SkyToGround
This branch was created with the purpose of improving the throughput of the ADCReadout pipeline but it turned into a bit of a beast. What follows is a list of changes:
- Added trompeloeil (a mocking framework) as a dependency
- Added unit tests enabled by the use of trompeloeil
- Removed (now unused) stream packet processing
- Moved packet processing into 4 threads, one for each ADC channel
- Added some new stats for debugging purposes
- Added CLI argument for setting stats suffix
- Modified integration test data generator
- Various minor fixes and improvements
I concede that the unit testing could be more extensive. However, I feel that most of the problematic parts of the code has extensive unit tests thus I will leave it to whoever reviews the code to decide if I should add more tests.