Report delegated to formatter for printing output
add simple documentation formatter
add formatter option to command-line interface

A formatter can be specified as option to the command-line interface
using '--formatter'.
subject "Primes" is more describing
print test stats and exit with error code on fail
move CLI classes to CLI module
print CLI option errors on console
set working dir argument if no arguments specified
print Option parse exception as words

Move Pretty object into module 'support', clean up its indent function
(renamed to indentLines), move stack formatting out of Pretty into
BaseFormatter.
Report: rename to start and finish methods
stub: ignore multiple functions in single call
simpler creation of Spec using 'with'
mock: hide ignored messages in verify exception
mock test: pass exception if unexpected kind
move all report calls into Runner

Suite#run takes a lambda that is called for each spec execution. Runner
passes the lambda (actually an object that supports 'call') and handles
all reporting from there.
runner: track statistics of executed specs
report: add tests
report: delegate finish method to formatter
print stats at the end of a run

BaseFormatter prints the total and fail count at the end of a run.

Stats are moved out of runner as they are shared with reporters.
mock: support message names passed as messages

Mock supports both message names passed as Sequences and as messages.