Prevent sending custom data payload sending empty aps key

When a Message with custom data payload is sent, without any data in the
`aps` data key, the empty array is encoded into the JSON. This can cause
problems on the receiving device.