Add ChangeDetectorAgent, test

New agent will watch the property of an inbound event stream. When that
property changes, it will emit the inbound event. 

Closes #430