Rename for API consistency

- Events.each renamed to Events.forEach
- Signal.changes renamed to Signa.events
Fix bug in Events.merge
Add support to Events.merge for array of event streams
Fix indentation  in spec
Add support for custom notification for Signal
Re-organize util module