Working on physical memory manager

Implemented pmm_alloc and pmm_free
Moved interrupts.h to include/kernel/interrupt.h
Added a bunch of macros in pmm.c for clarity
Update pmm.c

Revert back to single stack method. Still need to figure out how to implement contiguous allocation.
Update pmm.c

Removed unnecessary _pmm_pop function call in pmm_alloc
Update pmm.h
Renamed qemu folder to tools
Removed uidivmod.s, using libgcc provided uidivmod instead

Also modified INTERRUPT_LOCK and INTERRUPT_UNLOCK macros
Implement pmm_alloc_contiguous

Implemented pmm_alloc_contiguous function
Added support functions in bithacks.c to count set bits, find a
contiguous range of zero bits, and set a range of bits in an integer to
one
Update README.md