As dulwich's client.fetch_pack expects an instance of history graph
walker, and we don't know the list of heads already available locally
until `determine_wants` has run, just implement the two
methods (`__next__` and `ack`) that the graph walker expects in our
RepoRepresentation class.
Our previous code would always initialize the graph walker with an empty
set of heads (as the `graph_walker()` method is called before
`determine_wants()` has run, so `self.heads` is always empty), so we
would never actually fetch an incremental pack file.