Add variance back to Liskov combinators.

This partly reverts 227a19290b4c16bb9f7db4426045be2ad9a2ecf0.  The
soundness problem is explained in
[SI-7872](https://issues.scala-lang.org/browse/SI-7872).
Deprecate Liskov#inv.
add Lens for Map.WithDefault

For when you don't need a PLens.
standalone Set membership lens

Similar to SetLensFamily.contains, but doesn't require input Lens.
Added FoldableSyntax.sequenceS_

not sure if it's needed
Merge pull request #549 from refried/patch-12

Added FoldableSyntax.sequenceS_
fix These#bifoldRight
fix ProductBifoldable#bifoldLeft
fix tuple2Bitraverse
fix lazyTuple2Instance
remove unnecessary constraint.
add BifoldableLaw
bifoldable properties
add some methods to BifoldableOps
avoid new object allocate if `Success.leftMap`
avoid new object allocate if `-\/.map`
Merge pull request #546 from S11001001/topic/si-7872

Don't break SI-7872
Merge pull request #551 from xuwei-k/BifoldableLaw

add BifoldableLaw
fix comments
Added whileM, untilM, and friends.