x86_unmap_pages() with example/test code in kernel.c

- fixed a bug in pages.c (forgot to increment reference counts)
- x86/vm code is mostly done now... (I think?). It might be time to
actually work on vm/mm.c :P