function nextToken() {
  let t = peekToken();
  token = lookaheadToken || scanToken();
  lookaheadToken = null;
  lastToken = t;
  return t;
}
Consumes the next token and returns it. Will return a never ending stream of
END_OF_FILE at the end of the file so callers don't have to check for EOF
explicitly.

@return {Token}