[RFC] coverity/74718: os_call_shell: handle null `cmd`

- remove invalid `FUNC_ATTR_NONNULL_ARG(1)`
- receive `(char *)` internally
- modify identifier names for consistency
- edit comments for concision and consistency
`call_shell()` in `misc2.c` has these lines:

```c
    if (cmd == NULL || *p_sxq == NUL)
      retval = os_call_shell(cmd, opts, extra_shell_arg);
    else {
      char_u *ecmd = cmd;
```

and the comments on these functions claim that we still handle NULL `cmd`. Although I'm not sure why we would still support this, in light of https://github.com/neovim/neovim/issues/1477 / https://github.com/neovim/neovim/issues/1496.