Add custom context switch library.
The rationale to do an custom implementation is that the existing solutions are quite a bit slower and/or require more memory.
Test
run_tests
compilation terminated.
make[2]: *** [app/invoke_parallel/CMakeFiles/invoke_parallel.dir/main.cpp.o] Error 1
app/invoke_parallel/CMakeFiles/invoke_parallel.dir/build.make:62: recipe for target 'app/invoke_parallel/CMakeFiles/invoke_parallel.dir/main.cpp.o' failed
CMakeFiles/Makefile2:447: recipe for target 'app/invoke_parallel/CMakeFiles/invoke_parallel.dir/all' failed
make[1]: *** [app/invoke_parallel/CMakeFiles/invoke_parallel.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