More predictable ordering for constructors
Don't crash with the object super() constructor
Improve method/constructor parameter list filters

Previously, if one of the filters returned no results, it would go back
and do a broader filter instead, taking the new result regardless of
whether it returned anything. This sometimes resulted in bad error
messages when no match could be found.
The new system filters incrementally, and only ever uses a filtered list
if it actually contains something.
Don't turn bracketed names into one-element tuples
Improve some of the resolver's error messages
Fix exception checking instanceof expressions
Fix a crash with void function expression calls
Coalesce more resolver exceptions
Add tests for the main resolver pass