graphqlbackend: Proper lazy loading in GitCommitResolver
Created by: tsenart
This fixes a bug I introduced in #15746 where not all fields of the commit would be lazy loaded.
It makes the constructor of the resolver take in a commit ID and a commit, separately, so that it's clear when we instantiate a resolver with a pre-loaded commit, vs without one (so that it gets lazy loaded).