Add user stories
suite: handle output of test diagnostics

Instead of letting the assertion functions output diagnostic messages,
we have 'suite' do it. This has the desirable effect that the assertion
functions are now pure; and they can be exposed to test writers
directly, making the API simpler to use and cleaner to read.

Also related, output all test run result information in a single runtime
message function call, so the 'output-cb' function can decide what info
to show or hide. This will be useful for implementing output functions.
suite: implement skipping tests

To skip a test, pass it an option: '(option 'skip #t)'.