rename parse* functions to *From
rename result to PassingSpec and FailingSpec
assert: report failing test on exception in test

If an exception is thrown during execution of a test assert will
re-raise it with the synopsis of the failed test.

This concerns IoSpec's own suite of tests and *not* the library itself.
move non-IoSpec test helpers to test/helpers
improve error when calling answers from mocks

Mocked methods return a MockAnswer so that Io will raise an error that
MockAnswer does not respond to the call, when calls are made to the
result of a mock.
assert: improve exception in failure message
add Mock and Stub test doubles to library

Mock and Stub test doubles are now part of the IoSpec library.

Adapted tests to use these new test doubles.
allow chaining on stub
SpecResult: use query functions for state

Using query functions makes it more easy to filter lists of results and
to test spec result states.
runner: return aggregated result of run
exit with error code (1) if any example fails
build.io: exit with error code (1) if build fails