Adding vralloc for allocating memory in 4kB pages

- Adding vralloc
- Modifications to mmu and vm headers to allow multiple allocators
- New vm_region struct type to allow easier memory management
- Adding previously missing kerror.c
- Some new test code in usrinit