expand and cleanup date validation routines

We used to have a long list of fields. Now we just iterate over the
item, then the feed, and look for the fields we want. It's cleaner
visually and might even make some feeds validate, as we now look for
`created_parsed` from feeds as well.

Order should be otherwise unchanged.

This was useful in diagnosing issues with invalid dates, as before
this change, we couldn't tell which field was picked for the item
date.

See #7.
1 job for master in 2 minutes and 10 seconds (queued for 1 second)
Status Job ID Name Coverage
  Test
passed #163987007
test

00:02:10

96.0%