Update comments
Refactor the Result type
Bring Result changes to providers
Changelog
Timeout support
HUnit: run tests in our own way

This is because the standard HUnit's performTestCase catches (almost) all
exceptions.

This is bad for a few reasons:
* it interferes with timeout handling
* it makes exception reporting inconsistent across providers
* it doesn't provide enough information for ingredients such as tasty-rerun
Whitespace
Include Timeout in core options
Bump version in advance
Changelog