=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`
Is it safe to use SynchronousPublisherFromIterable for everything?
`SynchronousPublisherFromIterable` was not intended to be used for all iterables when it was created. We have talked about using it for some known collection types with small size. See #15255.