Teach repo.ObjectDatabase to enumerate GitObjects

Should help introspecting the content of the object database.

 - The oids are eagerly loaded into a `List<>` as I haven't found a proper way to stream them from libgit2.
 - The GitObjects *should* be yielded one after another, without adding too much memory pressure.

**Warning:** This hasn't been tested against a huge repository (think Linux.git, for instance).