Add BatchedMultiplePoseMover, a mover given every pose of the previous step
ParsedProtocol hands the previous mover only to MultiplePoseMover, and
set_previous_mover is neither virtual nor readable, so a mover cannot learn
where its poses come from. A mover deriving from BatchedMultiplePoseMover is
given the pose passed to apply() followed by everything drained from the
previous step, through a public setter and getter.
The pull is a separate method from get_additional_output(), so a subclass can
override that freely to emit its own results. Draining goes through whichever
mover actually ran before, so an intervening MultiplePoseMover is pulled
through and its filters are applied to every pose first.