fix(pooled connection queries): Set a retry limit on queries.

This removes the recursion from PooledConnection.execute() and runs the
query retry logic in a loop. This allows us to track the state of the
query and ensure we don't retry it forever.