patch 8.0.0712: the terminal implementation is incomplete

Problem:    The terminal implementation is incomplete.
Solution:   Add the 'termkey' option.
diff --git a/src/option.c b/src/option.c
index cdb0d67..82b34dc 100644
--- a/src/option.c
+++ b/src/option.c
@@ -258,6 +258,7 @@
 # define PV_COLE	OPT_WIN(WV_COLE)
 #endif
 #ifdef FEAT_TERMINAL
+# define PV_TK		OPT_WIN(WV_TK)
 # define PV_TMS		OPT_WIN(WV_TMS)
 #endif
 #ifdef FEAT_SIGNS
@@ -2781,6 +2782,15 @@
 			    {(char_u *)FALSE, (char_u *)FALSE}
 #endif
 			    SCRIPTID_INIT},
+    {"termkey", "tk",	    P_STRING|P_ALLOCED|P_RWIN|P_VI_DEF,
+#ifdef FEAT_TERMINAL
+			    (char_u *)VAR_WIN, PV_TK,
+			    {(char_u *)"\x17", (char_u *)NULL}
+#else
+			    (char_u *)NULL, PV_NONE,
+			    {(char_u *)NULL, (char_u *)0L}
+#endif
+			    SCRIPTID_INIT},
     {"termsize", "tms",	    P_STRING|P_ALLOCED|P_RWIN|P_VI_DEF,
 #ifdef FEAT_TERMINAL
 			    (char_u *)VAR_WIN, PV_TMS,
@@ -10681,6 +10691,7 @@
 	case PV_COLE:   return (char_u *)&(curwin->w_p_cole);
 #endif
 #ifdef FEAT_TERMINAL
+	case PV_TK:     return (char_u *)&(curwin->w_p_tk);
 	case PV_TMS:    return (char_u *)&(curwin->w_p_tms);
 #endif
 
diff --git a/src/option.h b/src/option.h
index 69fc348..c74a89b 100644
--- a/src/option.h
+++ b/src/option.h
@@ -1131,6 +1131,7 @@
     , WV_COLE
 #endif
 #ifdef FEAT_TERMINAL
+    , WV_TK
     , WV_TMS
 #endif
 #ifdef FEAT_CURSORBIND
diff --git a/src/structs.h b/src/structs.h
index c3f1200..88e71b6 100644
--- a/src/structs.h
+++ b/src/structs.h
@@ -270,6 +270,8 @@
 # define w_p_scl w_onebuf_opt.wo_scl	/* 'signcolumn' */
 #endif
 #ifdef FEAT_TERMINAL
+    char_u	*wo_tk;
+#define w_p_tk w_onebuf_opt.wo_tk	/* 'termkey' */
     char_u	*wo_tms;
 #define w_p_tms w_onebuf_opt.wo_tms	/* 'termsize' */
 #endif
diff --git a/src/version.c b/src/version.c
index 6d448ae..5080e2c 100644
--- a/src/version.c
+++ b/src/version.c
@@ -765,6 +765,8 @@
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    712,
+/**/
     711,
 /**/
     710,