Reject blank dates

Since we now use the extra_date_metadata as a public method too, I've
moved the rejection of empty dates to the helper that is used to present
the nice date formats.

Also moving the test for testing this logic out of the Presenter spec
and into a Cucumber.