* parser: refactor parser first step
This is the first step to refactor parser. it solve several problems.
1. function name can be general identifier, we don't need to define a keyword for a builtin function.
2. write test to make sure keyword is consistent with lever token. this fixes#4538.
3. Removed ReservedKeyword, solve the identifier in scanner.
4. Simplified precedence definition.
* *: address comment