Don't pass negative token id to Lemon parser

Newer Lemon versions throw an assertion if they encounter invalid
token ids.

Fixes LUCY-327. Thanks to Petr Pisar for the report.
diff --git a/core/Lucy/Util/Json.c b/core/Lucy/Util/Json.c
index 46a0b89..be19660 100644
--- a/core/Lucy/Util/Json.c
+++ b/core/Lucy/Util/Json.c
@@ -479,6 +479,12 @@
                 }
                 break;
         }
+        if (token_type < 0) {
+            // Clear out parser and return.
+            LucyParseJson(json_parser, 0, NULL, &state);
+            SET_ERROR("JSON syntax error", save, end);
+            return NULL;
+        }
         LucyParseJson(json_parser, token_type, value, &state);
         if (state.errors) {
             SET_ERROR("JSON syntax error", save, end);