move time reversing mechanism to DurationChain; cleanup
add reversing test
move method
test mapping of TimeUnit classes
extract error classes to own module
move TimeSpanBuilder mechanics to TimeSpan