Trait virtual method proxies now set __length metadata

This fixes a bug that causesd virtual definitions with parameters on classes
that a trait is mixed into to fail, and prevented proper param length
validations in the reverse case.

See test case description for a less confusing description.
Corrected __length metadata on trait virtual proxies