Add PartialDateTime

A follow-up to #883.

Adds `iris.time.PartialDateTime` which gives "sloppy" comparisons with "datetime-like" objects.
Thus allowing things like:
```python
Constraint(time=lambda cell: cell.point == PartialDateTime(...))
```

NB. The Cell class has *not* been extended in this PR to allow Cell-PartialDateTime comparisons. So it is **not** possible to do: `Constraint(time=PartialDateTime(...))`. This can be added in a subsequent PR.