patch 8.1.1985: code for dealing with paths is spread out

Problem:    Code for dealing with paths is spread out.
Solution:   Move path related functions from misc1.c to filepath.c.
            Remove NO_EXPANDPATH.
diff --git a/src/scriptfile.c b/src/scriptfile.c
index ca4abab..d46b1e0 100644
--- a/src/scriptfile.c
+++ b/src/scriptfile.c
@@ -606,6 +606,28 @@
 #endif
 
 /*
+ * Sort "gap" and remove duplicate entries.  "gap" is expected to contain a
+ * list of file names in allocated memory.
+ */
+    void
+remove_duplicates(garray_T *gap)
+{
+    int	    i;
+    int	    j;
+    char_u  **fnames = (char_u **)gap->ga_data;
+
+    sort_strings(fnames, gap->ga_len);
+    for (i = gap->ga_len - 1; i > 0; --i)
+	if (fnamecmp(fnames[i - 1], fnames[i]) == 0)
+	{
+	    vim_free(fnames[i]);
+	    for (j = i + 1; j < gap->ga_len; ++j)
+		fnames[j - 1] = fnames[j];
+	    --gap->ga_len;
+	}
+}
+
+/*
  * Expand color scheme, compiler or filetype names.
  * Search from 'runtimepath':
  *   'runtimepath'/{dirnames}/{pat}.vim