patch 8.1.1484: some tests are slow

Problem:    Some tests are slow.
Solution:   Add timing to the test messages.  Fix double free when quitting in
            VimLeavePre autocmd.
diff --git a/src/testdir/runtest.vim b/src/testdir/runtest.vim
index 02d4d20..f855f68 100644
--- a/src/testdir/runtest.vim
+++ b/src/testdir/runtest.vim
@@ -42,6 +42,10 @@
   cquit
 endif
 
+if has('reltime')
+  let s:start_time = reltime()
+endif
+
 " Common with all tests on all systems.
 source setup.vim
 
@@ -99,6 +103,9 @@
 
 func RunTheTest(test)
   echo 'Executing ' . a:test
+  if has('reltime')
+    let func_start = reltime()
+  endif
 
   " Avoid stopping at the "hit enter" prompt
   set nomore
@@ -126,7 +133,11 @@
     endtry
   endif
 
-  call add(s:messages, 'Executing ' . a:test)
+  let message = 'Executed ' . a:test
+  if has('reltime')
+    let message ..= ' in ' .. reltimestr(reltime(func_start)) .. ' seconds'
+  endif
+  call add(s:messages, message)
   let s:done += 1
 
   if a:test =~ 'Test_nocatch_'
@@ -232,6 +243,9 @@
   else
     let message = 'Executed ' . s:done . (s:done > 1 ? ' tests' : ' test')
   endif
+  if has('reltime')
+    let message ..= ' in ' .. reltimestr(reltime(s:start_time)) .. ' seconds'
+  endif
   echo message
   call add(s:messages, message)
   if s:fail > 0