refactoring and implementation of area query

splitting out the writing of the response into another
path along the route for the plain query service, so
that I can reuse components for the area query service

not done, tests not written.  saving because my laptop
battery is dying!