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.