Correctly parse integers before a full stop

In tests like t/atom_number.pl I had changed

    N = 13.

into

    13 = N.

Because the text "13." at a term's end confused the lexer.  It now
correctly recognizes this combination.

This problem came about because I started Golog by adopting Go's
lexer.  In Go, the text "13." is a valid representation for "13.0"  In
Prolog it's not.

This fix is more complicated than I might have hoped because lexing
"13." generates two tokens instead of just one.  I considered changing
the scanner so that I can put extra characters back into the source
stream.  That might have been more elegant but the change were much
more intrusive.

Eventually, I'd like to completely rewrite this lexer based on the
lessons I've learned about Prolog lexing.