SI-7868 Account for numeric widening in match translation

Pattern match translation was unprepared for trees of the shape:

    (0: Short) match {
      case A.unapply(<unapply-selector>.toInt) <unapply> (_) => ()
      case _ => ()
    }

While a scrutinee is inelibigle for implicit views in order to
conform to the type of the extractor call, it is allowed to
weakly conform. In this case, the typechecker will add the
numeric widening with a `toInt` call.

This commit:

 - Changes treeInfo.Unapplied to recognize this tree shape
 - Changes spliceApply to recognize and preserve the widening
   when substituting the unapply selector with the binder
 - Tests reification of such pattern matches, which also depends
   on treeInfo.Unapplied.
Merge pull request #2975 from retronym/ticket/7868

SI-7868 Account for numeric widening in match translation
Revert "Merge pull request #2957 from paulp/pr/parser-improvements"

This reverts commit 884e1ce762d98b29594146d37b85384581d9ba96, reversing
changes made to f6fcc4431f272c707d49de68add532c452dd4b0f.
Add position check for regression introduced by #2957

The starting bound for ValDefs in #2957 is distinct from the expected result, e.g.

[4:9]val x = [8:9]0
instead of
[0:9]val x = [8:9]0
Merge pull request #2980 from huitseeker/revert-2957

Revert #2957