WIP
got a correct histogram for 'turn around time' questions
distinguish between missing answers and null answers

Also adds some helper functions that simplify the report definitions,
particularly for adding an 'other' category correctly.

Note that this requires the mysql_json UDF from
<https://github.com/db48x/mysql_json/tree/json-valid>.
Fixed reporting tests that had broken and added testing for the new histograms.
pull in the UDF as a submodule
make sure the UDF functions that we need are defined

adds a migration to handle it. Fixes #43
Merge branch '43-histograms' of github.com:solarpermit/solarpermit into 43-histograms
these three types were using the wrong report type

The result was a table with None for some or all of the fields,
because the query was returning nulls.
pie graphs with only one non-zero value store their series differently

which makes the code a bit ugly
Fixed tests for the new graphs and histograms.
Merge remote-tracking branch 'origin/redo-43-fixes' into 43-histograms
make the reporting query a little easier to read
Improved a few tests to include new fields and charts.
clean up how we check for freeform answers

and add a freeform column to question 107, time_window_display
Merge branch '43-histograms' of github.com:solarpermit/solarpermit into 43-histograms
Further improved test for the reporting graphs.
the histogram for question 107 now adds up

some of the "answers" have entirely the wrong json properties. it was
failing to count those towards any field, even the other field.
Merge remote-tracking branch 'origin/43-histograms' into 43-histograms
Merge branch '43-histograms' into devel