Add more to design spec.  Cleanup makefile and flatten include space.  Add utility function for testing.
A little more makefile cleanup, I like em sparse.