* Check response 0 on disconnect
From recv(): The return value will be 0 when the peer has performed an orderly shutdown
* Add persistent presence and handlers
* Use buffer instead of raw struct
* Clear presence data on shutdown
* Remove CurrentPresence and add boolean instead
This removes the need for having 2 big buffers in favor of using a small boolean