[RFC] strings: Remove NONNUL_ALL from NULL-taking functions.

As noted by @oni-link (https://github.com/neovim/neovim/pull/1582#issuecomment-65029290), I added `NONNUL` to `has_non_ascii()` when, looking at its callsites, it may be `NULL`. Didn't see any problems with the other `NONNUL` attributes, but I noticed that `vim_strup()` is always used after an `xmalloc()`, so we can remove the `NULL` check and keep the attribute.
It kind of depends. If the branch is about 50/50 change, then the ternary will likely be faster as it will likely be converted into a conditional move (CMOV) on x86. If the distribution is more skewed though, a branch is faster. That said, even an if-check can (and often does) compile down to a CMOV if gcc/clang feel up to it.