Sync pipeline behaviour — one GenServer walks the pipe line.
Initialization follows the same contract as FlowExtra.Pipeline (see its
moduledoc): pipeline and module init/1 run in the starting caller at
startup — once per declared occurrence here, once per replica on the
asynchronous engine — and prepared options are reused for every request
and for restarts.