Introduce lazy version of compactMap

Dropping LazyMap would lose its O(1) count (and its nonzero underestimatedCount) which might not be preferable, but dropping LazyFilter would probably make sense. The only thing that LazyFilter does that LazyCompactMap doesn't is the check in _customContainsEquatableElement that checks whether or not the element matches the predicate before actually searching the collection. I don't know much that helps things but as long as you think losing that is fine that I'm happy to try the removal.