[Push Notification] Added support for no channels

## Push Notification:
- If there are no channels (default no channel), the push notification
is sent to all target devices. (issue [#140](https://github.com/adelevie/parse-ruby-client/issues/140))
- Improved support for targeting by platform: a device type is specified as [`where`
clause](https://www.parse.com/docs/push_guide#options-platform/REST)
- Improved support for advanced targeting: if a channel is specified it's also possible to use `where` clause in it.
What if an user initiate a new Push object with: `Push.new(data, "").`
The channel parameter is not nil but has the same semantic value of nil.
I used `nil` as default parameter value in my first commit but than @ck3g pointed out backward compatibility issues like the one I just show you.