Check APNS return code

Some APNS return codes cause a connection to stop accepting new notifications. The documentation states that error 255 does this but the is anecdotal evidence that some other may cause it as well. This change causes a `connection#disconnect!` if a send fails. This could be made to only disconnect on error 255 but I took the more conservative approach.