Create ChangeUpdates with ChangeControls

This simplifies the factory methods, since ChangeControl ties a user
to a change. It also means all the factory methods can be used without
depending on an injected IdentifiedUser.

The only thing it complicates slightly is tests. ChangeControl is much
more than just a pair of (Change, User), so producing a fully-working
ChangeControl is infeasible. Instead, use EasyMock to create a stub
only exposing the getters we need. (This is slightly fragile but
probably no more so than tying ourselves to one set of injected
dependencies.)

Change-Id: I7c88d0e7f0e7ea7777adef201325e27810dc0ca7
10 files changed