execute spec in its own context

Spec runs in its own context object instead of the subject. The subject
is available as a slot on the spec's execution context.

Slots added in a spec are local to the spec and will not accidentally
override slots in the subject (which might cause unexpected behavior in
tests).
bugfix: allow variables in matcher expectations

Fix a bug where the 'should' DSL function evaluates variables in the
sender context to be evaluated in the actual value, rendering them
unknown.

The matcher message now is evaluated by 'should' in the context of the
sender and then matched on the actual value.

The OperatorMatcher describes the expectation nicely in case of
early-evaluation (i.e. cached arguments).
matchers: print escaped values in error message
primefactors example uses the primes function

Delete the 'primes' operator addition as the primefactors example only
uses the primes function on Number directly
assert uses colorized output and supports pending
assert: run test case in block

Running a test within a block prevents the test from poluting the
standard Lobby and helps preventing variables and methods to become
available in unrelated tests.
load test_helper in build script
don't indent anything if passed sequence is nil
use matchers through a register

Using a matcher register allows for more builtin matchers than only
matching by operator, and allows registering custom matchers.

The operator matcher follows the conventions of any other matcher, but
has an additional 'operator' slot. Because the matcher register returns
an operator matcher by default, it assigns the operator to the matcher.

All matches from the 'should' DSL are now executed through call
delegation. The message chain is no longer updated.

All matching related code is put in the 'matchers' module. DSL related
code has moved to the 'dsl' module.
support negative matches using shouldNot

MatcherProxy delegates the actual matching to a lambda. Should supports
the 'call' message so that it can be used as a lambda.