contraMap and andThen on TypedSink/TypedSource

closes #884 
closes #885 
Suppose you have an API that needs a `TypedSource[T]`. You might have one that you could get there via a map, then you can use this. I agree, it would be better to call .map, but I am afraid of confusing error messages since Mappable extends TypedSource and it has a .map method (though with different parameters).