initial error handling implementation

 - added error_term and error_type for inserting error nodes
   into our AST for graceful error recovery
 - added lexing::to_string for stringized lexeme ids
 - basic parsing error recording (for additive_expr only!)
refactoring lexical constructs