api: Drop only `undefined` params, not `null`.
api: Drop only `undefined` params, not `null`.

This use of `!= null` is really aimed at `undefined`; switch to the
more transparent `!==`.

We could of course make the condition equally transparent, and keep
the `!= null` semantics.  Should we exclude `null`?

Flow believes we never pass a `null` value here anyway.  (But also it
thinks that about `undefined`, which isn't true; it's been misled.)

If we do, though, then taking it out is probably actually a bug --
`null` is a perfectly good JSON-serializable value, which Python
deserializes back as `None`.  It definitely appears in the API at
least in some return values, and there may be routes that give `None`
a particular meaning for some parameter but will give an error if the
parameter is simply not there.

And in general we prefer to write code that acts as if the type
signatures are correct.  So, keep this exception to that rule down to
the one case we know can happen, and with a comment explaining why.

vishwesh3/zulip-mobile,vishwesh3/zulip-mobile,vishwesh3/zulip-mobile,vishwesh3/zulip-mobile