Simplify onRunEnd API

Make comments more clear to me
self-test --changed: print changed test count
add "self-test --tests testRegexp"

the messages aren't 100% perfect but they're good enough
support '-' as an argument
explicit test that empty arguments work
support short string arguments

change how splice is called to be sort of better
support '=' in command-line arguments