Make sure tearDown always gets called, even if exception eccurrs during test. Also, dedupe some reporting code.
Merge pull request #2 from jwark/master

Ensures the tearDown() method is called even if an exception occurs during the test