Because dynamically sizing the AMM data structures is a pain, make them big enough to begin with.
Expose function to get total memory.
Panic when memory runs out.
Disallow remapping of already mapped pages.
Fixed accounting in vmm_alloc_at.
Added check for over-filling allocated pages list.
Improved sch_wrapper to properly synchronise access to threads and free start struct before running thread.
Improved error checking in locks code.
Improved thread safety in scheduler.
Don't use locking in sch_get_eip in panic.