patch 9.1.1525: tests: testdir/ is a bit messy

Problem:  tests: testdir is a bit messy
Solution: move test scripts into testdir/util/ directory

src/testdir/ has become a dumping ground mixing test cases with utility
functions. Let's fix this by moving all utility functions into the
testdir/util/ directory

Also a few related changes had to be done:
- Update Filelist
- update README.txt and mention the new directory layout
- fix shadowbuild by linking the util directory into the shadow dir

closes: #17677

Signed-off-by: Christian Brabandt <cb@256bit.org>
diff --git a/src/testdir/util/unix.vim b/src/testdir/util/unix.vim
new file mode 100644
index 0000000..8a97129
--- /dev/null
+++ b/src/testdir/util/unix.vim
@@ -0,0 +1,13 @@
+" Settings for test script execution
+" Always use "sh", don't use the value of "$SHELL".
+set shell=sh
+
+" Only when the +eval feature is present.
+if 1
+  " While some tests overwrite $HOME to prevent them from polluting user files,
+  " we need to remember the original value so that we can tell external systems
+  " where to ask about their own user settings.
+  let g:tester_HOME = $HOME
+endif
+
+source util/setup.vim