Fix up source documentation & formatting
setup, teardown: take multiple exprs and take the same env

Both functions now take a variable number of expressions. There's no
reason for them to take just one. (For 'test' there is a reason--the
test options as the last argument.)

'teardown' now takes the same environment as does 'test', that is
defined in 'setup'. This means that you can define values in the setups
while also doing things which have side effects, like opening ports, and
then access these same values in the teardowns and e.g. close the ports.
Before and after every test.
Merge branch 'devel'