Make the kernel relocatable

OK, 'relocatable' may be said too much. In fact, we can load the _needed_
kernel code at every legal memory address now which is link-time defined.
Basically, the 'needed' code is the one outside of boot/, that is,
currently, the 'wait' function (which I should really put outside of boot/
then) and the 'idle' program. This needs to my knowledge a linker script to
be performed easily - which is what I've done finally. Note that these
functions are now not available to the kernel until the 'reloc' function was
called.

Provide a MEMORY file where the memory layout after notos' initialisation
phase completed is outlined. I'm working towards this layout now.

Declare the first page as the 'system page'. That's two MiB for the system.
Since the code is relocated to 0x100000 that's 1 MiB for the kernel code.
Being a floppy image, it thus can't even grow to this physical limitation of
1.44 MiB (not including some data which is within the kernel image and must
later be copied). I hoped to not be limited by the floppy. Neat.