SI-6169 Refine java wildcard bounds using corresponding tparam

Also fixes part of SI-8197. Necessary complement to SI-1786, because we now infer tighter bounds for RHSs to conform to.

When opening an existential, Java puts constraints in the context that are derived
from the bounds on the type parameters of the existentially quantified type,
so let's do the same for existentials over java-defined classes...

Example:
```
public class Exist<T extends String> {
  // java helpfully re-interprets Exist<?> as Exist<? extends String>
  public Exist<?> foo() { throw new RuntimeException(); }
}
```

review by @retronym