DB: allow NULL for Not in _dict_query_where_clause

When using Not objects in _dict_query_where_clause for exact matches,
LIKE matches and IN expressions, also allow NULL.  This is so that
you can say, for example, {'survey': Not('CLS')} and find the
observations which have surveys which aren't CLS and also those
which have NULL values for survey.  If it turns out that we need
control over this, we can add an option to the Not constructor,
e.g. "exclude_null".  It might also be necessary to apply this
to range comparisons.
PEP8: add a missing blank line
jcmtobsinfo: add a not CLS survey filter