Bugfix in sdo: the channel lock function had to be added again.
As tests show, this function *is* needed. This patch, however, tries to make the implementation of channel locking a bit more systematic. A channel is locked when it is put into the send or timeout queue. It is unlocked when it is removed from that queue. Channel locking ensures that a channel cannot be added to the send and the timeout queue at the same time.