Debug tools

This ports some debug tools from #55 into the main branch. 

I intend to use them to fix some basic issues before returning to #55's issue.

A debug binary, from debug objects can be built with `DEBUG=1 make`. Debug compiles should not interfere with the main compiles, but it needs to be cleaned in debug mode as well (as in `DEBUG=1 make clean`)

The debug mode includes a `bsp` command which forces the input to be compiled into a BSP tree before being serialized back out to disk.