Made a small change to how it loads commits

Instead of loading everything synchronously when the program begins,
this just loads the list of hashes and adds data to the consumer as it
reads each commit. This way, we won't crash on some really huge repos,
and there is no wait before typing can happen.