Fix bug for pushPermission && Add cloudeCode for notification

- Check pushPermission before perform a pushNotification of type:
viewed, reviewed, answered, message
- User can change her pushPermission in Setting and it will sync with
database