fix for negative clock duration conversion

see issue #142
further refactoring of range-package

Side note: Boundary does not implement Temporal now because there is no
complete timeline-only ordering.