patch 8.1.1899: sign_place() does not work as documented

Problem:    sign_place() does not work as documented.
Solution:   Make accept line numbers like line(). (Yegappan Lakshmanan,
            closes #4848)
diff --git a/src/sign.c b/src/sign.c
index 7628fce..7395131 100644
--- a/src/sign.c
+++ b/src/sign.c
@@ -2430,9 +2430,12 @@
     di = dict_find(dict, (char_u *)"lnum", -1);
     if (di != NULL)
     {
-	lnum = (int)tv_get_number_chk(&di->di_tv, &notanum);
-	if (notanum)
+	lnum = tv_get_lnum(&di->di_tv);
+	if (lnum <= 0)
+	{
+	    emsg(_(e_invarg));
 	    goto cleanup;
+	}
     }
 
     // sign priority