When inserting, look through the full hash chain before adding a new
entry, this fixes double insertion of the same key when there were a
hash collision
Instead of storing used and removed bits, store 2 bit state. This makes
the code cleaner and easier to not make mistakes
Initial step of paging now just prepares fast page for heap, actual page
table initialization happens after heap is initialized which allows
x86_64 to never depend on kmalloc for pages.
Processor's stacks are now also spawned with PMM/VMM allocated stacks
instead of kmalloc identity mapped.