First draft of memory zone functionality. Can create a zone and allocate
you memory from the zone. Also has the ability to clear zones and to
free. There is no way yet to free anything that has been allocated on
the zones.
Moved the build system over to CMake. This build system right now
replicates the same functionality as our bash scripts from earlier. Will
need a lot of refactoring to be more complete, but for now we are fully
on CMake.