Vanchi/better 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

/cc @zendesk/zendesk-radar


### Steps to merge
 - [ ] :+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.
This is process wide. (Is defined on the Presence class). For multiple versions of servers (like multiple engine.io), each will create its own resources and reach resource will add its own handler to down event. So it's essentially like a single server.

I am not very clear on the perf - implications of thousands of resources each adding a listener, but I think it should be fine.