=str #15755 #15756 source and sink

sorry, deleted the old branch by accident, previous discussion was at #15786 
Should we have `materializeSource[In](source: Source[In]` and then pattern match inside?

In this way custom materializers could choose what source materialization to implement and pluggable sources would not depend on particular materializer.