Merge branch 'expect_remote_closure' of github.com:relayrides/pushy into threadless_connections
Intermediate progress toward a threadless ApnsConnection (derived from ApnsClientThread).
Untangled some thinking about known-bad shutdown notifications.
Rebuilt the sent notification buffer. This may be slightly less efficient in some cases, but it's a whoooole lot easier to reason about.
Resolved most TODOs in the new ApnsConnection class.
Made a first pass at making PushManager work with ApnsConnection instead of ApnsClientThread. Unsurprisingly, many things are broken.
Added the ApnsConnectionListener interface; made ApnsConnection not directly dependent on a PushManager.
Inlined rejected notification handling.
Dropped the old ApnsClientThread class and associated tests.
Made the feedback client not dependent on the PushManager class.
Restored feedback client tests.
Inlined the ApnsConnection Bootstrap instance.
Made "connection not active" into a checked exception.
On second thought, handle bad connection state like any other write failure.
Fixed a goof where we were checking for a thing that would ALWAYS be null.
Minor inlining of some constants.
Minor formatting tweaks.
Re-built unit tests for the ApnsConnection class.
Mostly restored PushManager unit tests.
Restored the BasePushyTest class.