[Review]: Updates to TimeRange (to fix Issue #1094)

Timerange fix
Wow! that works because a negative timedelta is represented as negative days and positive seconds:
```python
negtime = datetime.timedelta(seconds = -23)
print(negtime)
```
```
-1 day, 23:59:37
```

Something new I've learnt today :)
Thanks @ehsteve