patch 8.0.0438: the fnamemodify test may cause later tests to fail

Problem:    The fnamemodify test changes 'shell' in a way later tests may not
            be able to use system().
Solution:   Save and restore 'shell'.
diff --git a/src/testdir/test_fnamemodify.vim b/src/testdir/test_fnamemodify.vim
index 2267e18..1c2a80d 100644
--- a/src/testdir/test_fnamemodify.vim
+++ b/src/testdir/test_fnamemodify.vim
@@ -1,6 +1,8 @@
 " Test filename modifiers.
 
 func Test_fnamemodify()
+  let save_home = $HOME
+  let save_shell = &shell
   let $HOME = fnamemodify('.', ':p:h:h')
   set shell=sh
 
@@ -39,7 +41,9 @@
   call assert_equal("'abc\ndef'", fnamemodify("abc\ndef", ':S'))
   set shell=tcsh
   call assert_equal("'abc\\\ndef'",  fnamemodify("abc\ndef", ':S'))
-  set shell&
+
+  let $HOME = save_home
+  let &shell = save_shell
 endfunc
 
 func Test_expand()