Changed PWS from using locked writes to using separate fence transitions.

Note: Inserting fences in some of the example machines creates traces where
values are lost in the write buffers. I have implemented a conversion from lost
values to lost messages in PwsPsoBwd, but ChannelBwd::convert_trace then calls
ChannelBwd::messages_lost in some cases, which was disabled with an exception
because it was insufficiently tested. However, after fixing a minor bug, it
works, and is indeed required, for the examples using PWS, so I have commented
out the exception.