WIP: Fast path with 'outlined' slow path code in place.

Everything so far is untested. We only made sure tha fast path still seems to function correctly. Next up is writing tests for both the fast and slow path to then introduce the slow path. After that we can look at performance optimizations.
4 jobs from coninuation in 31 seconds (queued for 3 seconds)
Status Job ID Name Coverage
  Build
passed #3383
build_cmake

00:17

 
  Test
failed #3384
run_tests

00:13

 
  Sanitizer
skipped #3386
run_address_sanitizer
skipped #3385
run_thread_sanitizer
 
Test run_tests
-- Build files have been written to: /builds/gitlab/las3/development/scheduling/predictable_parallel_patterns/cmake-build-release
Scanning dependencies of target pls
make[2]: *** No rule to make target 'lib/pls/CMakeFiles/pls.dir/build'. Stop.
CMakeFiles/Makefile2:104: recipe for target 'lib/pls/CMakeFiles/pls.dir/all' failed
make[1]: *** [lib/pls/CMakeFiles/pls.dir/all] Error 2
make: *** [all] Error 2
Makefile:140: recipe for target 'all' failed
./ci_scripts/run_tests.sh: line 9: ./bin/tests: No such file or directory
ERROR: Job failed: exit code 1