Super still uses frame name to do the lookup of the superclass's
method, so when super is present we have to push a frame with the
name of the currently-executing method. Normally this is the name
at the call site, but when the call is to an aliased method the
original name must be used to invoke the actual method. In the
non-indy logic, this is done by calling through AliasMethod, which
inserts the original name into the call path for use in frames. In
the indy logic, where we unwrap AliasMethod to bind more directly,
we were not carrying along the original name and were always using
the name at the call site. This caused the target method to have
the aliased name in its frame and to attempt to super up that name
instead of the original name.
The fix was to propagate the original name from method unwrapping
through to all places where framing is needed.
In the future, the super name will be statically calculated for
most cases, since it does not change for normal method
Fixes #802 and #937.