use before and after as separated methods instead of running with two parameters

sometimes it's a bit cumbersome to do something like:

    spyMessageProcessor("foo").ofNamespace("bar").running(Collections.emptyList(), Arrays.asList(new SpyProcess() {/*blah*/}));

when just wanting some spy process to be invoked after the process.

The new syntax allows things like:

    spyMessageProcessor("foo").ofNamespace("bar").after(new SpyProcess() { /*blah*/});