Short circuit when jsonifying undefined

For example, when requesting a verification code, there is no JSON data
to send, so doAjax receives an undefined param.jsonData and attempts to
pass that to jsonThing().

Technically, we could add this to the getStringable whitelist of types
and it would work out ok, since JSON.stringify returns undefined in such
a case, but that wrongly implies that undefined can be converted to a
string, which it can't be.