PBS state transitions and a method to execute them.  #3128.

The specs for Participant#advance only address the PBS -> PV1 -> PV2
flow because that's the issue of immediate concern for #3128.
Add participant scheduling to merge process.  #3128.

I justify the lack of tests by noting that all this code does is glue
stuff together.  Hopefully this won't come back to bite me.