Resolve methods called as functions and...

...defined in another crate.

Fixes #18061
Remove FnStyle from DefFn and DefStaticMethod
Cross crait inherant impls
test
Rebasing and review changes
auto merge of #18177 : nick29581/rust/ufcs2, r=nikomatsakis

r?

closes #18061