Abstracted channel implementation further.
I have now implemented a toggle for turning on channel absorption (i.e. the channel will keep the process which blocks it). This is part of the requirement of the cooperative scheduler for cache-affinity based process stealing.