Fix payload trim for unicode alert text

If APN payload size exceeds Apple's 256 bytes limit and alert.body contains Unicode string, it is not trimmed correctly resulting in payloads exceeding 256 bytes.
My commit fixes this bug. I have also created unit tests for this.