SI-6780 Better handling of cycles in in-scope implicit search

Reworks `Context#implicitss` so that:

  - the implicit info cache only contains implicits from the current
    level. The List[List[_]] is now contructed on demand;
  - we can detect cycles by setting `implicitsCacheRunId` to -1 during
    the computation. The outer implicits when we encounter that.
  - we avoid caching when we hit a cycle or when the owner is uninitialized.
SI-6780 Refactor Context#implicitss

  - split out a method for the part concernted with implicits from
    the current context
  - leaving the outer code to handle caching, cycle detection,
    and recursion up the context chain.