Improved Throwable so that if getCause is overriden the printStackTrace will get the cause
More defensive if getCause() changes
Merge pull request #273 from jentfoo/master

Improved Throwable for if getCause is overridden