Move CCSpec Exception to a shared module
Handle exceptions thrown inside examples correctly

The exceptions can not only be thrown from the matcher calls but also
during any phase in an example. The correct catch should be in
Example#run instead of in the matcher.