Some tests around #49
Remove code in child thread that identifies bugs in SiB, add exception recording into EventStream::Producer
EventStream::Producer sets the exit status if the exception is a SystemExit
Move the error processing from rescue blocks into the EventStream
EventStream specs: organize / rename / refactor
Prevent Ruby from printing exceptions in at_exit hooks

* Requires overriding at_exit
* Did some refactoring of the_matrix while I was in there
  (it was just so hard to read)
* Finishes the work started earlier of letting the EventStream do error processing
Remove the at_exit override

Logic explained in https://github.com/JoshCheek/seeing_is_believing/issues/24#issuecomment-57919133