[RDY] Remove NULL/non-NULL tests after calls to vim_str(n)save and replace alloc with xmalloc

 - [x] Implement `vim_str(n)save` using `xstr(n)dup`
 - [x] Remove NULL/non-NULL tests after calls to `vim_strsave`
 - [x] Remove NULL/non-NULL tests after calls to `vim_strnsave`
 - [x] Replace `alloc` with `xmalloc` and refactor immediate OOM tests
 - [x] Remove OOM tests after calls to functions that don't have an OOM error condition