Fix things -- namely TCP conns not getting recycled

also tried to refactor, will add some inlines w/ notes
nice, thanks