patch 8.1.0614: placing signs can be complicated

Problem:    Placing signs can be complicated.
Solution:   Add functions for defining and placing signs.  Introduce a group
            name to avoid different plugins using the same signs. (Yegappan
            Lakshmanan, closes #3652)
diff --git a/src/proto/ex_cmds.pro b/src/proto/ex_cmds.pro
index 12e6b38..00d0217 100644
--- a/src/proto/ex_cmds.pro
+++ b/src/proto/ex_cmds.pro
@@ -61,10 +61,17 @@
 void *sign_get_image(int typenr);
 char_u *sign_typenr2name(int typenr);
 void free_signs(void);
+void free_signs(void);
 char_u *get_sign_name(expand_T *xp, int idx);
 void set_context_in_sign_cmd(expand_T *xp, char_u *arg);
 void ex_smile(exarg_T *eap);
 void ex_drop(exarg_T *eap);
 char_u *skip_vimgrep_pat(char_u *p, char_u **s, int *flags);
 void ex_oldfiles(exarg_T *eap);
+int sign_define_by_name(char_u *name, char_u *icon, char_u *linehl, char_u *text, char_u *texthl);
+int sign_undefine_by_name(char_u *name);
+void sign_getlist(char_u *name, list_T *retlist);
+int sign_place(int *sign_id, char_u *group, char_u *sign_name, buf_T *buf, linenr_T lnum, int prio);
+int sign_unplace(int id, char_u *group, buf_T *buf);
+void sign_get_placed(buf_T *buf, linenr_T lnum, int id, char_u *group, list_T *retlist);
 /* vim: set ft=c : */