[parsing] Fix match syntax and add const

This PR makes a few changes to the parser to handle new syntax introduced in 0.12 and Nightly
-  The match syntax had minor changes in 0.12.  From the release notes:
     * The syntax for matching of sub-slices has been changed to use a
       postfix `..` instead of prefix (.e.g. `[a, b, c..]`), for
       consistency with other uses of `..` and to future-proof
       potential additional uses of the syntax.
     * The syntax for matching inclusive ranges in patterns has changed
       from `0..3` to `0...4` to be consistent with the exclusive range
       syntax for slicing.
-  Nightly introduced 'const' as a keyword. (https://github.com/rust-lang/rfcs/pull/246)