proxy: fix race crash from io obj use-after-free
proxy: fix race crash from io obj use-after-free

obvious once tracked down: STAILQ_FOREACH is actively using io->io_next,
and the return call can free and potentially reuse the object if the
thread gets suspended.

There're _SAFE forms of the FOREACH but the reset flow shouldn't happen
often enough to be worth using more than this standard pattern.

memcached/memcached,dormando/memcached,dormando/memcached,memcached/memcached,memcached/memcached,memcached/memcached,dormando/memcached,dormando/memcached,memcached/memcached,dormando/memcached