Attach the server error response to failed notifications

Add the ability to set notification server error information per notification while trying to send a push.
It also logs the error if any. The logger is customizable.

More information about APNS errors on table 5.1 Error Codes:
https://developer.apple.com/library/ios/documentation/NetworkingInternet/Conceptual/RemoteNotificationsPG/Chapters/CommunicatingWIthAPS.html