don't extract dates in metadata or content

protects user-defined strings from being deserialized to datetime objects
fix ISO8601 re

closes #4493
apply extract_dates at a higher level in IPython.parallel

datetime objects are no longer automatically deserialized outside of headers.
separate single-date parsing from walking extraction

makes code more readable
test that we don't choke on sub-millisecond precision timestamps

(#4493)
test date time treatment in Session

header and parent_header date time objects are automatically parsed.
metadata and content are not, but at least they are automatically serialized.
Merge pull request #4497 from minrk/datetime-session

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)