Added a test-macro function.

Wit the addition of test-macro I also added a more general test
function that takes a symbol and figures out which of the testing
functions to call (or it signals an error).

I also did some re-formatting to keep lines within 80 chars.