patch 9.0.0719: too many delete() calls in tests

Problem:    Too many delete() calls in tests.
Solution:   Use deferred delete where possible.
diff --git a/src/testdir/test_shell.vim b/src/testdir/test_shell.vim
index a194f3b..cacb02b 100644
--- a/src/testdir/test_shell.vim
+++ b/src/testdir/test_shell.vim
@@ -202,7 +202,7 @@
   let save_sxq = &shellxquote
   let save_sxe = &shellxescape
 
-  call writefile(['#!/bin/sh', 'echo "Cmd: [$*]" > Xlog'], 'Xtestshell')
+  call writefile(['#!/bin/sh', 'echo "Cmd: [$*]" > Xlog'], 'Xtestshell', 'D')
   call setfperm('Xtestshell', "r-x------")
   set shell=./Xtestshell
 
@@ -226,7 +226,6 @@
   let &shell = save_shell
   let &shellxquote = save_sxq
   let &shellxescape = save_sxe
-  call delete('Xtestshell')
   call delete('Xlog')
 endfunc