initial unbuffered channel implementation
added support for expired probes
select operation on a channel list
Channel.select removes old probes
implemented remove_probe
added buffered channel
fixed unbuffered channel style
fixed test race condition
added probe specs
added waitable list
timer task now uses thread safe observer set instead of Observable module
first RingBuffer implementation
added circular condition
added RingBuffer#empty? and RingBuffer#full?
added RingBuffer#peek
renamed RingBuffer to BlockingRingBuffer
renamed blocking ring buffer spec
changed waiting list interface
added non safe ring buffer
buffered channel refactor using ring buffer