#listeners returns an object which delegates to a collection of listeners plus: 

* exposes an `add` method to add a listener(s)
* takes a block which is instance_eval'd allowing calling of `add` within the block

[13]
stub `to_a` to fix spec in MRI 1.9.2
enumerator spec and check exception raised in immutable rspec
update example with block synatx