Added check that PK values must be scalars.
Made filters work when equating with null

filter('column', '=', null) will now render as "column IS NULL", and
filter('column', '!=', null) will render as "column IS NOT NULL".