Refactored lookupRefined

Turned parameter into receiver (reciever was not used before at all).
Fix of t1279a: baseTypeWithArgs

baseTypeWithArgs now also keeps track of refinements in the subtypes. Without
that, the approximated lub in t1279a is too coarse and the program fails to typecheck.
Reverting decision what constitutes a double def.

test case t0273. Was positive in Scala 2, is now deemed to be negative.
Two two definitions

    def a = () => ()
    def a[T] = (p:A) => ()

do have matching signatures, so should constitute a double definition.
I previously thought that we can get away if the two definitions have
different result types, but then you immediately have a problem because
the denotations have matching signatures for the pruposes of "&" yet
cannot be merged. Which of the two definitions would override
a definition in a base class is then an arbitrary decision.
Fix of t1272: overloading resolution

stripImplicits needs to take polytypes into account.