=str - Various Flow and FlowMaterializer improvements

THIS IS A WIP-BRANCH/PR for discussion and improvement, DO NOT MERGE YET


  - Switches from using size-of-1/2 Vectors to using Lists
  - Fixes an issue where processorForNode wouldn't use the dispatcher form the settings
  - Adds a dedicated Collect fusion op
  - Adds various simplifications to ActorBasedFlowMaterializer
  - Adds FIXMEs where appropriate
  - Switches `grouped` to use a VectorBuilder
  - Adds support for `scan`
Ping @drewhk, I've switched to IterablePublisher for all iterations since we can't have Iterator (makes Source not freely shareable, so IteratorPublisher needs to go), and I've fixed a lot of bugs in IterablePublisher, but it seems that there are a couple of ones left.
One thing that I don't currently understand is why does IterablePublisher need to do much more work than IteratorPublisher need(ed) to?