Fix #1214: Static methods in the IR.

Trait impls have been eliminated, in favor of supporting
static methods in any kind of class.

Trait impls are encoded exactly in the same way as on the JVM,
i.e., a class directly extending Object, with static methods.
This is currently the only use of static methods in the IR, but
in theory it can support static methods anywhere.
Consider using a for-loop:

```scala
val optPreciseInfo = for {
  ctnr <- if (methodInfo.isStatic) staticContainer else container
  methodImpl <- ctnr.methods.get(methodInfo.encodedName)
} yield methodImpl.preciseInfo

optPreciseInfo.getOrElse(methodInfo)
```