Fix things -- namely TCP conns not getting recycled

also tried to refactor, will add some inlines w/ notes
I decided to only return the response if it is successful to have less places where the body needs to be closed since it's becoming an issue.