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>.