DatesRole: reorganize parsing slightly.

This reorganizes and clarifies some things to make adding extra
cases in later easier (hopefully).