Adding tkstack and fixing vm bugs

- New copyin() was commited before it was actually ready and working
- Adding new tkstack that will ensure that the kstack is always
  available
Changing region and pt functions to use const pointer whenever possible
Thread specific kstack is now allocated in kernel

Thread specific kstack is now allocated with vralloc() and placed in the
first 4kB of virtual memory space. This way kstack is trivially always
available even ig process memory map is messed up. This change also
provides more security as previously there was a possibility that user
could read kstack by specifying an alternative pthread stack and reading
kernel data from there.

This commit also fixes some nasty initialization bugs around the system.

Known issues:
- Kernel seems to encounter random panics because some coarse page table
  informations seems to be cleared somehow sometimes and so the system
  cant attach the page table properly and panics
- Thread cloning is broken because it doesn't create a new kstack