Branches now can list their log.

I've had to do some ugly stuff here because of the way that the
data works out.  I need to be able to know where the repo is for
the current commit, so it and all of it's parents need to know about
'repo'.  It's ugly to try to do this with coercion, so I'm moving
away from that except for where possible.