suite: fix syntax error and pass in block to run
build: fail when suite fails (e.g. syntax errors)
mock: throw errors from verify only
spec: call the example-block

Use the example block set in spec by calling it in the scope of the
execution context, rather than sending the block's message to the
context.
clean up use of global slots in tests
assert: simplify test message execution (use block)
build: encapsulate execution of test file

Each test file is executed in its own object so that they don't
interfer.

Move test_helper's includes to build script.
add module system to encapsulate iospec's modules
apply modules to iospec's module system
suite no longer returns results

Suite yields each result to a given block, it should not collect and
return all results of the run.