added a text runner and changed MockOutput to StringOutput
throw an ErrorException when a nested forall throws an Exception
refactored the Snippets class