Couple macros to make printing nicer, use assertions instead to fail if a test doesn't work.
Also adjust the build system to do some more (cleaning, building, testing, running).