Add simple profiling code that records dynamic executed DAG.

Add key-points required to capture an execution DAG. Currently all data is in-memory and printed out. In future work it would be good to store the DAG's and/or process them further.
3 jobs from master in 4 minutes 24 seconds (queued for 2 seconds)
Status Job ID Name Coverage
  Build
passed #3761
build_cmake

01:00

 
  Test
passed #3762
run_tests

01:00

 
  Sanitizer
passed #3763
run_address_sanitizer

02:23