These have essentially the same public fields, except for a few that
were not previously exposed through ChangeApiImpl for no good reason.
The most invasive change this requires is to hold on to the
SubmitRecord.Label.Status value during label initialization in
ChangeJson, which we now do by holding a pair of (LabelInfo, Status).
This is an implementation detail of ChangeJson, so does not need to
leak into the ChangeInfo class.
Additionally, although we can kill most of ChangeInfoMapper, we still
need the mapping of Change.Status to ChangeStatus, to avoid exposing
an internal implementation detail of the database storage layer to the
extension API.
Change-Id: I20f78ed0bd893560bce1b55d47583d6cba3e3fb2