Fixed some writable pool management goofs (not interrupting the dispatch thread, not removing from the writable pool even though the connection's closed).
No need to call `submit` since we're just discarding the `Future`.
Fixed a really dumb deadline mistake.
Well, that was dumb. Let's not put important flow control statements in `assert` statements any more kthx.
Since all sequence number changes happen in the event loop, the sequence number can just be a plain old `int` instead of an `AtomicInteger`.
Moved a check inside an event loop `Runnable` for memory consistency.
Fixed a race condition where notifications could get lost if their write succeeded after the connection had handled a rejection, but before the connection had closed.
Clear the sent notification buffer after sending unprocessed notifications back to the listener.
Catch NullPointerExceptions and report them as a connection failure cause rather than checking for null and not reporting a cause.
Merge branch 'threadless_connections' of github.com:relayrides/pushy into logging_normalization

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