Extend changed to optionally capture previous value

Providing this information allows the child streams to know what the
previous state was, which could be used to drive notifications or
corrective actions.
Refactor to avoid modifying event

Based on the arity of a given child function, the child will either
receive the current event, or the previous event *and* the current
event.
Fix typo in example
Add exception handling a la (call-rescue)
Merge pull request #404 from blalor/changed-preserve

Extend changed to optionally capture previous value