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.
Merge branch 'pull-12'

This closes pull request #12 and issue #7.
ignore more build artifacts
changelog for PR#12
prep for release of 0.44