Add a TransportIndexClient and use it everywhere.

NodeIndexClient is perfect for testing, but it's too difficult to deploy
because it demands lots of chatter among nodes, making firewall rules
tricky.