Allowing use of buffered sockets in go server

There is currently no way in a go server to use buffered sockets. Failing to do so decreases performance significantly in my tests. 

I added an option on TServerSocket to set the buffer size to use. This will default to 1024 bytes, but can be disabled if desired to get back to the original behavior by setting BufferSize to 0.