read-dict.c: Fix handling of missing ';' at end of dict
read-dict.c: Fix handling of missing ';' at end of dict

It sometimes produces a wrong error message:
UTF8 char is too long
	 Line 17, next tokens:
(Nothing after "next tokens:".

The problem is that when get_character() returns c[0]='\0'
it returns to the loop at link_advance() with ok=true, and then
is_space(c[0]) exists the loop.

Since only ';' is missing, this is a position which a cost may apply,
and later

if (is_number(dict->token))

is called on dict->token which is "\0" at that point, which is
included in the valid characters string so is_number("\0") returns true.
There is nothing there and the cost is decoded as 0.

The next call to get_character() then tries to read after the buffer
end, gets some garbage and then "UTF8 char is too long".

Fixed by returning true in link_advance() on c[0]=='\0',
and false in is_number of "\0" argument.

It may be that there are more EOF handling problems (there is a
check for the constant EOF which is not assigned anywhere).

opencog/link-grammar,ampli/link-grammar,opencog/link-grammar,opencog/link-grammar,linas/link-grammar,ampli/link-grammar,linas/link-grammar,opencog/link-grammar,opencog/link-grammar,ampli/link-grammar,linas/link-grammar,linas/link-grammar,ampli/link-grammar,opencog/link-grammar,linas/link-grammar,linas/link-grammar,ampli/link-grammar,opencog/link-grammar,linas/link-grammar,ampli/link-grammar,ampli/link-grammar,ampli/link-grammar,linas/link-grammar,opencog/link-grammar,ampli/link-grammar,opencog/link-grammar,linas/link-grammar