Daqd investigations
Work to deal with glitches in the daqd.
Highlights:
- Bring back code from the Branch 3.5 FW. Moving some of the producer's work out to another thred.
- Update an internal work queue structure to use C++11 components instead of pthreads apis.
- Clean up how some pipeline threads are started, adding in better lifetime handling for shared work queues and a more expressive interface to start the jobs.
- Update the producer to use the shared memory buffer to catch up if it falls behind.
- Updated the termination conditions for daqd, abort on any skipped cycle as opposed to a jump of more than 1 sec.
- Moved checksum tests out of a component tests directory to the src/daqd/tests directory with other unit and system tests.