\SMW\ChangeObserver

Code coverage: 100%
CRAP: 10

The ChangeObserver acts on an invoked object notification and enforces loose
coupling between the sender of a change notification through this agent.

## Narrative
Before using the ChangeObserver, PropertyDisparityDetector would have been
coupled to the UpdateDispatcher instead now the ChangeAgent acts on behalf
of the PropertyDisparityDetector to invoke the necessary object.

This will allow [1] to use the same ChangeObserver

[1] https://gerrit.wikimedia.org/r/#/c/75825/

## Testing
* MockChangeObserver is being used to verify the Observer/Subject behaviour

Change-Id: Ifd8604d8ed551a62e3aa5c160e536c5cb1d0e718