Fix two corner cases in dotted list handling

(. 4) read as 4. (.) hit an assert.
hack in a thing to prevent infinite EOF loop

Previously if the main loop ran into an EOF, it would ask for input again. This
was mildly annoying at a REPL, but in a file it means it continues asking the
file for more input, so, well, "unexpected EOF" over and over.

The fix special cases the error in the main error handler. This is a shitty
version of handler-case.
minor fixes to tagging