Extended method lookup

When doing method lookup, consider all implementations from the crate the type
is defined in, not just inherent methods and in-scope traits.