Add comments and implementations to GCGenericSocket's methods.
Implement SocketSetupThread and SocketReaderThread