SSLConnection: Add a receive method

Useful if you want to get some feedback from APNS.

Also created `__ExplainSSLReturnValue(const int ret)` which attempt to explain a SSL return value.
Remove missing nl warning
IOS Payload: Add content-available field

The APNS stuff was updated some time ago with new field, this commit allow us to conform to the protocol.

Also, correct malformed JSON when using custom key/values pair.
Implement new APNS notification format

I don't know when but, the good olds Simple/Enhanced Notification Format became deprecated (https://developer.apple.com/library/ios/documentation/NetworkingInternet/Conceptual/RemoteNotificationsPG/Chapters/LegacyFormat.html#//apple_ref/doc/uid/TP40008194-CH105-SW2)

Now we have to use this : https://developer.apple.com/library/ios/documentation/NetworkingInternet/Conceptual/RemoteNotificationsPG/Chapters/CommunicatingWIthAPS.html#//apple_ref/doc/uid/TP40008194-CH101-SW2

The old formats are still supported, so I created a new method `SendPayloadToDevice_new()` the name sux but whatever, it does the job.

The format changed and it was boring to code, but now we can have better feedback from the APNS server in case of failure (who said finally?)
Also there is still room for some improvements, because now we can set an expiration value (as a UNIX epoch time) and a priority, but as I'm lazy I used default values that were good for me.

Last thing: Zetsuboushita! Apple's documentation watashi ni Zetsuboshita! Mataku...