Structure sentence with new Date Facet

With the introduction of the date facet, sentence generation needs to
work a bit differently.

This commit extracts out that behaviour to each facet, allowing it to
look after it's own section of the sentence. This also required
refactoring of result_set_presenter to follow the new structure. The
date facet also uses prepositions a bit different, using between, to or
from depending on which value or both values is present.