Another refactoring round in typedImplicit1

 - Use combinators on SearchResult rather than early returns
   in over-sized methods during inference and application of
   type arguments.
 - Centralize detection of context errors, and make it uniform.