boot.asm: Recursive map page tables

PML4[510] = PML4

This recursively assigns a virtual address to every page table (pdpt, pd, pt).
mem.c: Add map() function to map arbitrary pages.

Needs rewriting, but it works!