patch 8.1.1418: win_execute() is not implemented yet

Problem:    Win_execute() is not implemented yet.
Solution:   Implement it.
diff --git a/src/testdir/test_execute_func.vim b/src/testdir/test_execute_func.vim
index b84fbeb..78561b3 100644
--- a/src/testdir/test_execute_func.vim
+++ b/src/testdir/test_execute_func.vim
@@ -78,3 +78,27 @@
   endfor
   call assert_equal('xyz ', text2)
 endfunc
+
+func Test_win_execute()
+  let thiswin = win_getid()
+  new
+  let otherwin = win_getid()
+  call setline(1, 'the new window')
+  call win_gotoid(thiswin)
+  let line = win_execute(otherwin, 'echo getline(1)')
+  call assert_match('the new window', line)
+
+  if has('textprop')
+    let popupwin = popup_create('the popup win', {'line': 2, 'col': 3})
+    redraw
+    let line = win_execute(popupwin, 'echo getline(1)')
+    call assert_match('the popup win', line)
+
+    call assert_fails('call win_execute(popupwin, "bwipe!")', 'E937:')
+
+    call popup_close(popupwin)
+  endif
+
+  call win_gotoid(otherwin)
+  bwipe!
+endfunc