Added new error code, 10: apnsShutdown.

Table 5-1: http://developer.apple.com/library/ios/#documentation/NetworkingInternet/Conceptual/RemoteNotificationsPG/Chapters/CommunicatingWIthAPS.html#//apple_ref/doc/uid/TP40008194-CH101-SW4
Added better trace for sockets

Assign each socket an ID which can be used to track socket management problems.
Don't blindly reject the deferredConnection when an error occurs

If a new connection is established before the error from the previous connection is thrown then a deferredConnection will exist and it will happily reject it, upsetting the new connection flow. In fact we should check that the error occurred on the in progress socket (`this.socket`) before we destroy that.

Otherwise just handle it as a regular socket error.
Merge branch 'refs/heads/issue101-hotfix' into develop
Ignore an EPIPE thrown after a transmission error.

This is a harmless error and nothing seems to suppress it, so we'll ignore it in the right circumstances.
1.3.4