Regenerate ElixirParser with Grammar Kit 1.2.0

Updated Grammar Kit, so regenreate ElixirParser to take advantage of
improvements.
Match expression

Implement
[`match_expr`](https://github.com/elixir-lang/elixir/blob/de39bbaca277002797e52ffbde617ace06233a2b/lib/elixir/src/elixir_parser.yrl#L113-L122).
This is done by converting the bulk of the old `expression` to
`matchedExpression` with the accompanying change of prefixing all the
operations with `matchedExpression`.  `matchedExpression.*Operation`s have
`matchedExpression` for operands instead of `expression` as
`emptyParentheses` is a valid `expression`, but not a valid
`matchedExpression`.  `value` has been replaced with
`noParenthesesOneExpression` and `accessExpression`.

`noParenthesesOneExpression` corresponds to
[`no_parens_one_expr`](https://github.com/elixir-lang/elixir/blob/de39bbaca277002797e52ffbde617ace06233a2b/lib/elixir/src/elixir_parser.yrl#L191-L194),
but incompletely as only `dot_identifier` is implemented as
`dotIdentifier`.  `dotIdentifier` does not currently implement the
left-recursion of `dot_identifier`, so `dotIdentifier` is just
`IDENTIFIER`.

`accessExpression` corresponds with
[`access_expr`](https://github.com/elixir-lang/elixir/blob/de39bbaca277002797e52ffbde617ace06233a2b/lib/elixir/src/elixir_parser.yrl#L200-L223),
but not all its dependencies are implemented, so only number operations,
and the old `value` dependencies, `CHAR_TOKEN`, `NUMBER`, `list`,
`binaryString`, `listString`, and `sigil`, are supported. `accessExpression`
finally calls `maxExpression`.

`maxExpression` corresponds to
[`max_expr`](https://github.com/elixir-lang/elixir/blob/de39bbaca277002797e52ffbde617ace06233a2b/lib/elixir/src/elixir_parser.yrl#L226-L231),
but only `atom` and `dotAlias` as no call syntax is implemented yet.

`dotAlias` corresponds to
[`dot_alias`](https://github.com/elixir-lang/elixir/blob/de39bbaca277002797e52ffbde617ace06233a2b/lib/elixir/src/elixir_parser.yrl#L387-L388),
but without left-recursion, so it is just `ALIAS` now.

To see the outstanding work see
https://github.com/KronicDeth/intellij-elixir/issues/50.
Restore DOT_OPERATOR in parser

I could not make the operator precedence rules and left-recursion work
for noParenthesesOneExpression and dotIdentifier, so I made
matchedExpressionDotOperation, which operators on any matchedExpression
to trigger the BINARY operation handling in the generated parser.
IDENTIFIER directly in matchedExpression caused left-recursion issues,
but by wrapping the IDENTIFER token, in a rule, identifierExpression, I
was able to have identifierExpression extend matchExpression, which
allowed removal of the left recursion.  This can be summarized as the
following transforms:

noParenthesesOneExpression => dotIdentifier
dotIdentifier => matchedExpressionDotOperation | identifierExpression.

While testing, it was discovered that `@attribute.identifier` parsed as
`@(attribute.identifier)` instead of `(@attribute).identifier`, which
was due to `matchedExpressionDotOperation` being after
`matchedAtOperation`, so the order was flipped.
Simplify dotAlias

With dotAlias just being ALIAS, dotAlias can be inlined into
maxExpression.
Add Matched Expressions to README
Land #70, Matched Expressions
Update changelogs