- Changed the socket implementation, switched to berkeley sockets. The problem with previous one was the SIGSEGV being fired in case of connect() failure (ip/port is not accessible)
 - Changed the interfaces of the command sender methods to return boolean status.
 - Also added commandACK() which sends dummy ack.