Fix: various 20141028

See more extensive comments in each commit that says what it is for.
I see the intention here, but testing for explicit strings in exception messages always feels messy. But then so does `expectedExceptions=PropagatedRuntimeException.class`. While it's arguably neater to throw (and expect) a custom runtime exception type, since this is a very narrow test for the class that defines the message I'm prepared to make an exception (no pun intended).