Fixes #8 - formatting and parsing negative durations, adds tests