Fixed failing test case PwsConstraint/simple reorder by recomputing
all_transitions without use_updates_only_after_reads in PwsConstraint::Common
since it meant that processes couldn't update their own writes late if they
didn't read them, and thus the only way to reach an initial state was by using
locked writes, but that disallowed serialisation in a different order, and by
fixing a bug in PwsConstraint::buffer_pop_back.

Made SbConstraint::propagate_value_in_channel(NML, int) protected and virtual so
it could be specialised in PwsConstraint to avoid a case when propagation is not
possible in PWS.