Not adding an alert key to the aps if the alert is not set

When no alert is specified (mostly useful when sending content-available messages), the aps dictionary would still contain an alert key with an empty dictionary. This could lead to unexpected results in an app that expects the alert to be either absent or containing useful values.
This pull request fixes that.