Add Skip results including reasons and add reliable capturing of stdout

This is based on #28 with some improvements to include skip results and correct the behaviour of stdout capture.

It works correctly with Jenkins junit result reporting.