refactoring around Duration.plus(Timespan)

see issue #119