added pmm

only pmm_init right now, i'll make pmm_bootstrap, pmm_alloc, pmm_free
when i get to it, but they should be fairly simple to make.

also rewritten the container_of macro as it didn't work (on clang)