Pushed `data_selection` creation into responder.

Since the responder chooses the data type of the returned data
(although at the moment there's only `osm_responder`), its a
better place to create the `data_selection` as we might want to
create different types of `data_selection` when dealing with
other types of responder.

Basically, this is a prelude to trying to code up support for
history format files, which will need to be chosen by responders
inheriting from a different "history responder" which will need
a different interface since ID is no longer a primary key.