Encode datetime as Timestamp in msgpack
decoding custom format is still supported for backward compat.
Note that this revision modifies the exception type raised when attempting to
encode a naive datetime object for both formats (json amd msgpack): it now
raises a TypeError instead of a ValueError.