factor the reporting code to make it easier to write new reports

and easier to read the ones that are there. Doesn't change the SQL
that we end up with; there's probably scope for improvement there.
use django's existing db connection rather than opening our own
first-pass reports for all question types

Some of them can likely be refined to show more information, but specs
are needed. I'm sure we want timeseries data for all of them...
order reports on the report index correctly
tweak matching
tweak 'answered' reports

The query structure for finding jurisdictions with no answer doesn't
fit into the current code, and we don't show it for any of the other
reports. Remove it and the 'total'.
fix typo in report page
query definitions use OrderedDict to preserve column order

Prevents us from having a Total reported before any of the things it's
totalling.
avoid a greedy match
fix query for one report type
Tests for the reporting page.

Added many tests that cover all unique question types on the reporting page, all test check for labels and tables that would be expected, and tests for question types that report numbers check to make sure they are being added correctly.
Merge branch '15-report-on-all-field-types' into devel