SI-6541 valid wildcard existentials for case-module-unapply

Instead of letting the compiler infer the return type of case module
unapply methods, provide them explicitly.
I logged https://issues.scala-lang.org/browse/SI-8884

Good point about compatibility, I only thought about binary.

I'm not sure if `-Xsource:2.12` is the right solution here, maybe better submit the PR against 2.12? Because the generated pickle is different, so in some sense it's binary incompatible. If you turn it on to compile a library, then a client might fail to compile against the new binary.