Setup/teardown handling

Closes #4.  Closes #6.

- run tear down when spec fails
- run tear down when set up fails (test is failed)
- skip test when setup fails (test is failed)
- continue tests is tear down fails