Use CommandParse to get assembly files to run
Reduced duplication in tests
Created `~+` operator as shorthand for `focus`

This operator also has the benefit that it works on a top level group, where
the `focus` function currently does not
Reduced code duplication

There was already a helper function for running an example group. By using
this we are also reducing the soze of the boundary that has to be kept
stable
Remove generic dependency on core run function

The generic runner was not really helpful in order to polymorphically
handle events, which should be needed in order to e.g. be able to select
different output formats at run time
Skeleton JUnit output reporter

This commit is mostly good because we can verify that the output is valid
according to the JUnit xml schema
Extracted matcher for validating errors

This displays the actual validation errors when a test fails, instead of
just verifying a true/false value