SI-7895 Avoid cascade of "symbol not found" in pattern matches

If we can't type check the `Foo` in `case Foo(a, b) => (a, b)`,
we should enter error symbols for `a` and `b` to avoid further
errors being reported in the case body.
SI-7895 Issue all buffered errors after silent mode.

Rather than just the first.

For example, `foo(wizzle, wuzzle, woggle)` should report all three
not-found symbols.
SI-7985 Typecheck args after failure to typecheck function

`missing1.foo(missing2)` now reports `missing1` and `missing2` as
not found. Previously, only the first was reported.

The arguments are typed with an expected type ErrorType. We propagate
this through as the inferred type of anonymous function parameters
to avoid issuing cascading "missing parameter type" errors in code
like:

    scala> Nil.mapp(x => abracadabra)
    <console>:8: error: value mapp is not a member of object Nil
                  Nil.mapp(x => abracadabra)
                      ^
    <console>:8: error: not found: value abracadabra
                  Nil.mapp(x => abracadabra)
                                ^

This was in response to unwanted changes in the output of existing
neg tests; no new test is added.

Similarly, we refine the errors in neg/t6436b.scala by to avoid
cascaded errors after:

    type mismatch; found: StringContext, required: ?{def q: ?}
Merge pull request #3024 from retronym/ticket/7895

SI-7895 Error reporting: avoid cascading, truncation