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