Added parse_node_alloc_terminal() function.

Clean up of sitedef_lexer.c static functions:
 - match_x() functions now allocate parse nodes using
   parse_node_alloc_terminal()
 - match_x() functions take beginning location parameter
 - alloc_next_token() no longer creates parse nodes
 - has_more_text() helper to make this test more readable
   in match_x() functions.