First part of rebase runtime support for intermediate results

This is the current standing of a rebase for FLINK-986. Be prepared for forced pushes to this branch. The rebase is work in progress and I need to add some final tests and test in cluster mode. The PR is for interested parties to have an overview of where things stand (although this is just part of the commits).

My timeline to finalize the PR is until Friday. So don't merge this.

I also have an overview graphic that covers what the changes entail for the network stack and I will add detailed descriptions here.