gitk: Get rid of idinlist array
This changes layoutrows to use information from rowidlist and children
to work out which parent ids are appearing for the first time or need
an up arrow, instead of using idinlist. To detect the situation where
git log doesn't give us all the commits it references, this adds an
idpending array that is updated and used by getcommitlines.
This also fixes a bug where we weren't resetting the ordertok array when
updating the list of commits; this fixes that too, and a bug where we
could try to access an undefined element of commitrow if the user did
an update before gitk had finished reading in the graph.
Signed-off-by: Paul Mackerras <paulus@samba.org>