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.
Wow-zers ... I wouldn't fancy passing in big arrays here!

Seems like a bit of redundant checking is being performed as we cycle through the lower to upper dimensions ... does the job but we may want to target this for optimisation at a later date (if need be).