ENH: Json support for datetime.time

Adds `datetime.time` support to JSON serialiser. Note:

- times are encoded to strings and will be decoded to strings.
- `date_unit` and `date_format` params have no affect on `time` serialisation, they are always iso formatted.

Fixes #4873