cleanup
add a validate method to the pool, and ensure that the socket is destroyed correctly, closes #80