SI-6591 Reify and path-dependent types

Reification scheme changed. Now Select an SelectFromTypeTree trees
reified appropriately, as Select and SelectFromTypeTree accordingly.
Packages and Predef object was excluded in order not to break the
existing reification scheme and not to break tests which rely on it.

Reified free terms can contain flag <stable> to make reified values
become stable identifiers. For example in the case of
reify_newimpl_15.scala

    class C {
      type T
      reify { val v: List[T] = List(2) }
    }

class C reified as free term C$value, and List[C.T] becomes
List[C$value().T], so C$value.apply() need to pass stability test
isExprSafeToInline at scala.reflect.internal.TreeInfo. For this purpose
special case for reified free terms was added to isExprSafeToInline
function.

test `reify_newimpl_30.scala` disabled due to [SI-7082](https://issues.scala-lang.org/browse/SI-7082)
test `t6591_4.scala` moved to pending due to [SI-7083](https://issues.scala-lang.org/browse/SI-7083)

review by: @xeno-by