Test display_exception_details

Part of #272
Test display_exception_details with causes

Part of #272
Prevent infinite recursion via Exception#cause

It is possible the causes of two exceptions to refer to each other.
When displaying the causes to the user rake would raise a
SystemStackError trying to show the causes repeatedly.

Now rake looks for seen causes and stops when it sees the same cause a
second time.

Fixes #272