Converted to ndb.

NDB allows us to be called multiple times in a transaction.  I also removed
ancestor queries from the calls as I misunder stood how they worked and they
were defeating the whole purpose of sharding.