Add some implementations:

- Added `Sub<Duration, Timespec>` for `Timespec`, now allowing for
  Durations to be subtracted (they could only be added before).

- Added `Add` and `Sub<Duration, Tm>` for `Tm` allowing Durations to be
  both added and subtracted in a similar way to Timespec.

  Since there does not appear to be any function analogous to `at` and
  `at_utc` which allows for an arbitrary timezone to be set, the adding
  and subtracting a duration from a `Tm` object will always result in
  `Tm` at UTC.

- Added `PartialOrd` and `Ord` for `Tm`.

Signed-off-by: JP-Ellis <coujellis@gmail.com>