Move terms into separate module.
Added at_end? to Reader
Handle unterminated compound term
Added TermBuffer