Introduce ChangeOpFactory.

ChangeOpFactory allows us to sanely inject services into
ChangeOp instances without the need to drag all the required
services around explicitly.

Change-Id: I5fd9a8c15e26196645b8cf2e6945ab8937510a1e
Merge "Introduce ChangeOpFactory."