Created be.ofType<'T> matcher
Created matcher combinator
Changed default target to not update asmver files

I want the default target to just compile and run all tests, so I know I
can commit, thus I don't want the default target to actually modify any
files.
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
Moved JUnitFormatter to the test runner app

Rather have as little dependencies in the core as possible, and then add
more if *really* needed, and the formatter will have dependency on xml
libs.
Use XDocument for xml generation
Added System.Xml.Linq

Used to verify generated JUnit result xml format
Matcher for verifying root element name
Created xml match helpers
Verify precense of test suite element