Moved class virtual param test into ClassVirtualTest case

VirtualTest was not the correct spot.
Corrected virtual non-overridden trait method invocations

What a mouthful. And nightmare, having been away from the trait
implementation for so long.
Setting super method on override wrapper
Super method now provided on method override wrapper

This allows invoking any arbitrary method of a supertype. This is needed,
for example, if some method `foo` is overridden, but we wish to call the
parent `foo` in another method; this is not possible with __super:

  var C = Class(
  {
      'virtual foo': function() { return 'super'; }
  } );

  var SubC = C.extend(
  {
      'override foo': function() { return 'sub'; },

      superfoo: function() { return this.foo.super.call( this ); }
  } );

  SubC().superfoo();  // 'super'

Obviously, __super would not work here because any call to __super within
SubC#superfoo would try to invoke C@superfoo, which does not exist.
Corrrected virtual non-overridden trait methods

See the introduced test cases for great detail; there was a problem with the
implementation where only the public API of the abstract trait object was
being checked, meaning that protected virtual methods were not found when
peforming the call. This was not a problem on override, because that proxies
to the protected member object (PMO), which includes protected members.