async event loop
This MR implements async input and event loop for Allen:
- async reading of MDF files
- async reading of binary files
- run the checkers incrementally on batches of processed events
- reading from MDF files on an NVMe drive runs at 70 kHz
- running Allen with async I/O from MDF files runs about 800 Hz slower than repetitions.
- this MR depends on 0MQ and on Boost, both are provided by the LCG view that we recommend people use. *
- The option to automatically build 0MQ if it is not available is included (to be tested). If the dependency on Boost is undesirable, the possibility to disable it at compile time could be added. That would result in limited functionality of the 0MQ code, i.e. only POD and std::string will work.
Edited by Roel Aaij