[LOG4J2-634] ThrowableProxy ctor throws an exception when using suppressed exceptions. Refactor and fix code out of ThrowableProxy into Throwables. Tests and main code will use this util class. I have local code that uses the new code in Throwables but I want to commit in smaller chunks.

git-svn-id: https://svn.apache.org/repos/asf/logging/log4j/log4j2/trunk@1594116 13f79535-47bb-0310-9956-ffa450edef68