Swap `dateRange` formatters for `date` where appropriate.

Some modules fit a date formatter for their data, despite being date ranges (single days or months)
Improve the date range formatter so it displays the upper bound as the end of the period, not the start of the next
Allow collection processors to handle arrays of keys