move the true values to the end of their files
a first attempt at saving memory

this replaces a hash ref by an array ref, trying to keep the ids in the array numerical only

the real issue is that the list contains the whole ancestry of a commit, across all repositories,
which makes for a lot of duplicated data if the repositories are huge

so, this approach does not even scratch the surface of the problem
and it apparently takes more memory than the previous code
drop the useless number optimisation
memory optimisation

There is no need to save the whole lineage for a given commit

Just remember the parent from each repository, and compare
those lists, since a commit can really stand in for all its
lineage in its origin repository.

This should be a huge memory saver when processing repositories
with a lot of commits.
factor out _add_parents

it is called from a single place, and has become very simple
Changes for version 0.102