Merge changes I1316adf6,I4031a3f8,I6073fb02,I9566dcc2,I4d335c61,I4656925c,I96fe842b

* changes:
  Assume labels are correct in ListChanges
  Cache IdentifiedUser across PrologEnvironments
  Use Providers.of() instead of hand-rolled Provider
  Load patch set approvals in parallel
  Lookup user full names on the fly only once during change query
  Bulk load change and patch set data, reuse approvals
  Pass PatchSet not PatchSet.Id to canSubmit()