Restructure and comment on base abstartions.

We do this to properly separate the cache alginment logic in the next step, allowing us to port all cache aligned objects without worrying about portability.
4 jobs from cache_align in 39 seconds (queued for 1 minute 22 seconds)
Status Job ID Name Coverage
  Build
passed #2834
build_cmake

00:20

 
  Test
failed #2835
run_tests

00:18

 
  Sanitizer
skipped #2837
run_address_sanitizer
skipped #2836
run_thread_sanitizer
 
Test run_tests
                                    ^~~~~~~~~~~~
make[2]: *** [app/test_for_new/CMakeFiles/test_for_new.dir/main.cpp.o] Error 1
app/test_for_new/CMakeFiles/test_for_new.dir/build.make:62: recipe for target 'app/test_for_new/CMakeFiles/test_for_new.dir/main.cpp.o' failed
make[1]: *** [app/test_for_new/CMakeFiles/test_for_new.dir/all] Error 2
CMakeFiles/Makefile2:213: recipe for target 'app/test_for_new/CMakeFiles/test_for_new.dir/all' failed
Makefile:140: recipe for target 'all' failed
make: *** [all] Error 2
./ci_scripts/run_tests.sh: line 9: ./bin/tests: No such file or directory
ERROR: Job failed: exit code 1