[TACHYON-82] Retrieving byte buffer from remote machine can leak file handles in TachyonFile

If there is an IOException thrown by the retrieveByteBufferFromRemoteMachine() then file handles are leaked because of the initialization of the Socket which is never closed in finally block.
```
SocketChannel socketChannel = SocketChannel.open();
socketChannel.connect(address);
```
If there is an IOException from
```
SocketChannel#connect
DataServerMessage#send
DataServerMessage#recv
```
 then the Socket is not closed and file handles are leaked.