[thrift] better error handling and timeouts in tSocket code Summary: default socket send timeout to 5seconds, not infinity. close the socket in case of an error. Reviewed By: cpiro Test Plan: ran a client for slow services and sanity checked other client code to make sure Revert Plan: sure