Introduce a Duration object in Cucumber::Core::Test::Result

For results which do not have an actual duration (skipped, undefined and
pending) instead hold an null object. Client can either use the "null
duration" (0), or check if it is an actual duration or an null duration.
Let Test::Timer return a Test::Result::Duration object
Merge PR #71 "Introduce a Duration object". Updated HISTORY.md.