remove src lifetime from LexableToken
Summary:
currently there is a `'src` lifetime associated with `LexableToken`. The lifetime was added when editable positioned syntax was added. Editable positioned token embeds a reference of the actual text from source text, `'src` is the lifetime for the text.
All members from `LexableToken` doesn't need this lifetime except `make` function. `make` is called in parser, it should only takes a minimal set of arguments, which are only available during parsing. `source_text` are always the same to all tokens in the same file, which can be set outside of parser.
This lifetime are carried all over parser codebase, for example, `LexablePositionedToken` are also parameterized by the lifetime, none of its members use it.
If an implementation of `LexableToken` has to take a reference of source text, it can do it locally in an implementation of `SyntaxTypeBase`, since `make_token` takes a context parameter.
This lifetime was added before context parameter was added to `SyntaxTypeBase`, without context, adding `'src` seems the only solution.
Editable positioned syntax is also removed, it was an intern project and never finished. If we do need to port it rust, we can design it better.
Differential Revision:
D23729368
fbshipit-source-id:
f9f283c887f82fe2e7810d0659946924c7b5b938