[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.
Here we could avoid the write if `c` is not an upper case letter. Should that be implemented with an `if` instead of `?:`?