Create a RevWalk out of the repo directly
Repo: more sensible names for opening and initing

NewRepo() does not explain what it does, rename it to Open(). Make
Init() a first-level function instead of making the user create a new
struct for us to fill.