support null/is_null sub-ops inside has/any ops

The code in `_sub_operator` was assuming that the sub-operator dictionary argument had a `val` key, but in the case of the `null` and `is_null` operators, there is no `val` key, so we use `get` and pass `None` to `_create_operation`.