Level up unit tests; now harder to fool. Resolves #68. Resolves #145.

Tests now have to do something expected, in addition to having
identical execution across record/replay.  Additionally they must
compile with -Wall -Werr.
Merge pull request #147 from cgjones/level-up-tests

Level up unit tests; now harder to fool. Resolves #68. Resolves #145.