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.
Rename ApplyStatic to ApplyStatically, and related renamings.

Hopefully the new naming scheme is more consistent, and less
confusing:

* Apply / methodsCalled: instance method, dynamic dispatch
* ApplyStatically / methodsCalledStatically: instance method,
  static dispatch
* ApplyStatic / staticMethodsCalled: static method
Merge pull request #1350 from sjrd/static-methods

Fix #1214: Static methods in the IR.