Tidy up PrefixedThrowableProxyConverters

Each implementation had a bunch of code copied from the underlying Logback implementation with the prefixing code hacked in.

Instead, lets just use regular expressions to replace the beginning of each trace with the prefix.

Also, let's override the "Wrapped by: " text in `RootCauseFirstThrowableConverter` and display "Causing: " instead, as it's more intuitive.

Finally, ensure that the ThrowableProxyConverter is correctly initialized in tests.

Resolves issue described in the conversation in #396