fat driver now able to
* access high cluster correctly (<< 16, not << 8).
* parse file names correctly

+ numerous small tweaks in printf debug messages, comments and so on
1. We're now able to load files into memory based on their file name. Proof-of-concept key bindings are at src/keyboard.c

2. FAT driver is now 32-bit instead of 16-bit. For some reason, until so far the code for searching clusters has been for FAT16 (0xFFF8), not for FAT32 (0xFFFFFFF8). Thus, files in the beginning of disk/FAT have worked, where others have not.

A cleanup would be nice, someday.
kmalloc() reserves a minimum of 4096 bytes. this is done for two reasons:
1) the linked list has enough items for "avaialable memory / 4096". Thus, to make sure we don't run out of items, don't allow for smaller than 4kb chunks of memory
2) paging makes use of 4kb pages later on. Well, it might, I don't know much about paging yet.

krealloc should now be able to increase memory reserved. This is done by copying the whole memory to a bigger location. The function has not been tested out that well. Nothing in mm.c has been, there be dragons.