Toolchain: rework kernel build.

Removes unnecessary build steps of genericity to focus on modularity. The build
system is based on modules declared by Sok.mk files. A module declares its kind,
the files it wants to build and the build method. The build system parses
modules makefiles, compute dependencies and generate the output.

Tests are generated as a part of a module if declared with the appropriated
variables.

Testing done: make clean && make kernel, everything is built.
make kernel again: nothing to be done.
All tests passed.
qemu -kernel out/kernel/Kernel/Kernel.bin -m 512
 -> The kernel boots fine.
Arch support: remove arch genericity.

Removes support for multiple architecture. This kernel aims to be x86 and will
be multi-arch with more time and if the sort architecture is correct.