don't automatically unpack datetime objects in the message spec

- only unpack in headers
- move handling of datetime objects in content and metadata to application-level code
- minor fix to ISO8601 re (closes #4493)

I'm relying a bit on the IPython.parallel test coverage, so we'll see how this goes.
If anything is broken after this, at least we know where we need to add tests.