Enable interrupts via IOAPIC and LAPIC

A great discovery: I missed to reprogram the PIC so that I got weird
interrupts: 8 was presumably the RTC and not a Double Fault as I mistakenly
assumed. Now we've got the reason.

Make a stack available. %rsp was BS before.

I left the code for that PIC reprogramming in (commented out) but interrupts
are actually done by means of the IOAPIC to be able to re-route the keyboard
interrupt later, according to the concepts. The thing was only: the IOAPIC
and LAPIC registers are somewhere around the 4th GiB in memory. Remapping
the LAPIC registers is easy but the IOAPIC ones not. For this sake of
simplicity, we now build page table to map the first 4 GiB. Period.

Fortunately, the additionally required paging structures close the hole
between 0x0 (start of paging structures) and 0x7000 (end of 4 KiB stack).

The LAPIC timer is used for the purpose of testing the new setup. And it
does work! Decent. The code will be moved somewhere and everything is rather
sketchy at the moment but that's how it is.

I have already written code to search for the LAPIC IDs of all logical CPUs
and this only waits for the IPI stuff to get ready. However, the interrupt
handling was more urgent to get going. There are commented-out lines in the
sources that refer to that code. I just patched everything up to make it
assemble for today because the IOAPIC changes were more comprehensive than I
first thought and it's late already.

Part of the aforementioned changed code that I didn't want to remove is that
all pages are now global for translation, eventually anticipating to get all
CPUs running.

Change language-based (asm/) into topic-based (boot/) directory names. Fix
the build process by the way to only rebuild kern.img when necessary. This
had to be done in Makefile.build, however.

Correct minor issues in README.

Debugging a kernel which undergoes real, protected and long mode is more
difficult apparently with qemu/gdb. The solution I came up with is producing
an infinite loop as a break point and then hitting Ctrl+c twice in gdb from
"make debug". This makes me arrive properly at the infinite loop. From there
on, break points, etc. can be set and qemu system_reset'd. Cumbersome but
that's how things are. For "make debug", the qemu logs are now generated
with some interrupt stuff.