User stories: readability

Separate user stories with blank lines.
test-ggspec: adapt to handle return thunk from suite function

Since the suite function actually has a side effect as well as returning
a thunk, set up the 'internal test suite' creation so that the outermost
suite function call always gets run before each test.
test: handle missing options

Convert test into a case-lambda function to handle the missing options
argument at the end. Again, my philosophy here is to emphasise tests
_first_ so that the test description and thunk come first, and then the
options.