Return the same index and odb objects in successive calls

Instead of creating a new Go object each time Repository.Index()/Odb()
are called, keep track of the first one we created and keep returning
that.