Vector pp rules for time coordinates

Replacement for @pp-mo's #1239. This builds on #1239 but reinstates the scalar version of the time pp rules. The vector version is not used (yet). I've removed some of the previous unit and tests and added others.
Is it thread safe for all tests to use `self.result` as a common means for `_check_result` to compare expected with actual results?

Would it not be better just to pass the `result` into `_check_result` as an explicit argument ...