mapMaybe for Pipes.Prelude

I would find a pipe-based version of `Data.Maybe.mapMaybe` quite useful in `Pipes.Prelude`'s toolbox, for example to easily discard unwanted signals in a message-passing scenario.

A combination of `map` and `filter` sometimes does the trick, but in this case the type change and the discarding process always have to be separate, which is sometimes not ideal.