Issue 1744398: Improve exception pickling support
Due to various issues with how pickle works and new-style classes, pickling exception objects has been somewhat unreliable since Python 2.5. See comments in patch #1692335 for more detail. Attached is a patch that seems to improve pickling exceptions to support various different types of subclasses. It has some limitations (exceptions that use __slots__, doesn't fully support SyntaxError, UnicodeError, SystemExit, or WindowsError). However, it is an improvement for my situation.