add heap.c and heap.h to provide kmalloc() and kfree()
add page fault handler
bug fix and test for kmalloc()