add functionality that allows us to modify individual job arguments in a cascade

required for #175 
But I'm not testing that compressOutput doesn't throw an exception ... unless it just happens to throw an exception with this exact error message, that is!

I'm testing that compressOutput doesn't cause any set methods to be called on the original configuration, which is what the whole `BlabberMouth.blabber` functionality supports.

The alternative is testing that the args are the same before and after calling compressOutput. But how to test without replicating the same functionality that I use in the actual production code and having the same possible sources of bugs? That's why I've gone for the approach used here.

Now that I'm thinking about it, we can probably make use of `ThrownExpectations` and do the test failure inside the Configuration's callback, which would hopefully make this a little clearer.