Graphite socket bug -- send() vs sendall()

Use `socket.sendall()` instead of `socket.send()`, which sometimes truncates messages and causes weird intermittent failure. Also adds a try/finally block to make sure that the socket gets closed.