Refactor presence

* Creates a Presence Sentry (one per server instance) which can send/listen to server keep-alive and notify if a server is down.
* Eliminates need for Local/Remote managers
* Disconnect queueing is a simple timeout
* Streamlines all logging

/cc @zendesk/zendesk-radar


### Steps to merge
 - [x] :+1: of the team
 - [x] Fix/rewrite failing tests
 - [x] Create multiple server tests (better remote tests)

### References
 - Jira link: https://zendesk.atlassian.net/browse/RADAR-306

### Risks
 - Presence does not work as expected.
 - Logging is broken/excessive/insufficient