Run teardown even if test method dies

From 0.38 and onwards, when a test method dies, the teardown were no longer
executed. If the setup methods relies on a "clean" environment this means that
any further tests will fail (because setup fails), and will make it harder to
pinpoint the initial reason for the test failure.

A test of this functionality is included in this patch.

This fixes github issue #7