Introduced the FailedConnectionListener interface.
Added unit tests for failed connection listeners.
Added a PushManager argument for rejected notification listeners.
Made the listener executor service externally-providable.
Dispatch failed connection handling to a separate thread.
Fixed a memory leak in tests.
Added some cross references to the docs.
Merge branch 'threadless_connections' of github.com:relayrides/pushy into connection_failure_listener
Merge branch 'threadless_connections' of github.com:relayrides/pushy into connection_failure_listener

Conflicts:
	src/main/java/com/relayrides/pushy/apns/PushManager.java
Resolved a pair of TODOs by exposing the listener executor group to the ApnsConnection class.
Documented the new listenerExecutorService param.
Revert "Documented the new listenerExecutorService param."

This reverts commit 759391d430635368c49379c332aaa402fc0ebefb.
Revert "Resolved a pair of TODOs by exposing the listener executor group to the ApnsConnection class."

This reverts commit b2d8a053df553e7ef2102e2fd3931879865644b7.
Merge branch 'threadless_connections' into connection_failure_listener
Wait for connection operations to finish in the push manager's listener executor service.
Merge branch 'threadless_connections' into connection_failure_listener
Merge branch 'threadless_connections' into connection_failure_listener

Conflicts:
	src/main/java/com/relayrides/pushy/apns/PushManager.java
	src/test/java/com/relayrides/pushy/apns/PushManagerTest.java
Merge branch 'threadless_connections' into connection_failure_listener
Merge branch 'threadless_connections' into connection_failure_listener

Conflicts:
	src/main/java/com/relayrides/pushy/apns/PushManager.java
Merge branch 'threadless_connections' into connection_failure_listener

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