updates to iterutils and socket progress
it was possible to try to create multiple sockets *and* within iterutils, it wasn't guaranteed that for each iterator that hasNext() would be called to trigger any closing logic (such as shutting down a progress meter)