Further bookkeeping fixes: make sure to set the initial count to a reasonable value (oops) and don't double-count connection closure (double-oops).
Moved counter management into dedicated methods for clarity. Fixed another double-counting problem.
Merge branch 'threadless_connections' into connection_failure_listener
Avoided double-reporting of connection closure/failure. Clarified docs and added tests.
Minor: removed a superfluous `throws` declaration.
Merge branch 'threadless_connections' into connection_failure_listener

Conflicts:
	src/main/java/com/relayrides/pushy/apns/PushManager.java