code: func NewRunner(tc *mgo.Collection) *Runner {
  	return &Runner{tc, tc.Database.C(tc.Name + ".stash"), nil}
  }
docs: // NewRunner returns a new transaction runner that uses tc to hold its
  // transactions.
  //
  // Multiple transaction collections may exist in a single database, but
  // all collections that are touched by operations in a given transaction
  // collection must be handled exclusively by it.
  //
  // A second collection with the same name of tc but suffixed by ".stash"
  // will be used for implementing the transactional behavior of insert
  // and remove operations.