more informative parse errors

This is closer to The Right Way™ to do this. Not sure about adding all
those Repr() methods, though.
more informative error on tokens remaining