refactor pool, keep connections hot by inserting to front of pool on return, fix broken retry spec