Display first cause of AggregateException in stacktraces

Currently if an uncaught AggregateException is thrown, the stacktrace
shows no cause and the stacktrace points to the creation of AggregateException.

Now it'll display the first exception in the list of causes in the
stacktrace as the cause to allow developers to debug their application,
even if they can only do it one at a time...
Convert non-Exception Throwables to Exception for deprecated method
Fix tests and add more robust tests for deprecated methods
Merge pull request #34 from grantland/aggregate

Display first cause of AggregateException in stacktraces