patch 8.0.1577: virtual replace test fails on MS-Windows

Problem:    Virtual replace test fails on MS-Windows.
Solution:   Make adding a termcap entry work for a builtin terminal.
            Restore terminal keys in a better way.
diff --git a/src/testdir/test_visual.vim b/src/testdir/test_visual.vim
index 9d0458c..e08883d 100644
--- a/src/testdir/test_visual.vim
+++ b/src/testdir/test_visual.vim
@@ -157,6 +157,8 @@
 
 " Test Virtual replace mode.
 func Test_virtual_replace()
+  let save_t_kD = &t_kD
+  let save_t_kb = &t_kb
   exe "set t_kD=\<C-V>x7f t_kb=\<C-V>x08"
   enew!
   exe "normal a\nabcdefghi\njk\tlmn\n    opq	rst\n\<C-D>uvwxyz"
@@ -186,7 +188,9 @@
   call assert_equal(['AB......CDEFGHI.Jkl',
 	      \ 'AB	IJKLMNO	QRst'], getline(12, 13))
   enew!
-  set noai bs&vim t_kD&vim t_kb&vim
+  set noai bs&vim
+  let &t_kD = save_t_kD
+  let &t_kb = save_t_kb
 endfunc
 
 " Test Virtual replace mode.