patch 8.1.1437: code to handle callbacks is duplicated

Problem:    Code to handle callbacks is duplicated.
Solution:   Add callback_T and functions to deal with it.
diff --git a/src/buffer.c b/src/buffer.c
index 3bfb639..66f6fc6 100644
--- a/src/buffer.c
+++ b/src/buffer.c
@@ -862,7 +862,7 @@
 #endif
 #ifdef FEAT_JOB_CHANNEL
     vim_free(buf->b_prompt_text);
-    free_callback(buf->b_prompt_callback, buf->b_prompt_partial);
+    free_callback(&buf->b_prompt_callback);
 #endif
 
     buf_hashtab_remove(buf);