Refactor ChangesCollection to be injectable

Remove the user specific control factory, allowing the collection
to be injected from the system module rather than a higher level
request scoped module. With this refactoring in place it is now
possible to reuse ChangesCollection in other REST APIs, such as
to call its parse() method to lookup a change as a child member.

Change-Id: I8d14b3b9c2dab3cc9f29d968c6a15d0ef6835a04
6 files changed