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.