Another attempt at making test execution more reliable. Related to #69 and #70

Hi,

I've changed the implementation to address the concern you've raised in my previous pull request (#70). Now it includes:
* before and after actions
* test case creation
* test case disposal
* the actual test execution.

This is not something I would consider a final solution. It is just an idea to start a conversation.

The following test https://gist.github.com/pawelpabich/11362860 gave the following results:
![image](https://cloud.githubusercontent.com/assets/347637/2814008/a30eb09a-ce9f-11e3-9820-c5f3c43134f8.png)

Thoughts?