MLZ-54 -- Do not allow agent executions to overlap

Refactored the handling of the agent start time to remove some messy
try/catch blocks.
MLZ-60 -- Waking from suspend should only re-time agents once
Added comments describing how the data collection works.
MLZ-57 -- Try to get Varanus to build on Lucid with the built in Boost
version
MLZ-57 -- Try to get Varanus to build on Lucid with the built in Boost version
Merge branch 'develop' of github.com:KayEss/varanus into develop
MLZ-55 -- Try to get Varanus to build on Lucid with the built in Boost version
MLZ-55 -- Try to get Varanus to build on Lucid with the built in Boost version
Initial empty version of the file output.
Started to add in ability to execute external program.
Capture the exit status of the started program.
We now seem to get the correct exit status returned.
Renamed a test script to make later ones easier to name.
Refactored the execution of the program in the tests to make it easier to extend later on.
Fixed a log output error.
Capture executed program output.
We now get an array of output lines.
Added a partial test for the a "command not found" error.
Now capture stderr as well, but get the output in the wrong order.
Run Python un-buffered so we can test that the output is what we expect.