This patch passes the multiboot header address and bootloader magic number provided by grub to the kmain function, and checks the magic number to make sure it is correct before initialising the rest of the system. Closes#19
This patch separates the architecture-specific and core code from each other, with the arch code moved to its own directory under src/kernel/arch. The architecture and core code are built to objects, then linked togetherm, and an interface is added in src/kernel/arch.zig which each architecture must implement. Closes#16