Added Makefile and a test framework

From here on out, new code will have unit tests.
See tests/ for the stupidly simple framework being used.