Refactor DelegationResolver so that lazy and eager resolve share the code

Also fix an exception in LazyClassMemberScope
Refactor DelegationResolver into method object to simplify code
Test for reporting clashes with multiple delegated methods

Verifies that the order in which traits are inherited is irrelevant
Test for delegated members being overridden
Fix for MakeOverriddenMemberOpenFix

Fixes bugs which led to BindingContextUtils#descriptorToDeclaration throwing exception