Add lazy page allocation

Add lazy page allocation per:
http://pdos.csail.mit.edu/6.828/2012/homework/xv6-zero-fill.html
Move page fault handling logic

Move page fault handling code. This fixes an issue where if we page
faulted in kernel space (which should cause a panic) we "handle" it. Now
we correctly bomb out if we page fault in kernel space and allocate a
new page if its user space
Remove old `sbrk` memory allocation code