[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.
I run into that issue from time to time as well. 
What if you rebase and merge some of your commits so that you only have 2 left; one with the test pattern changes and one with the other changes. Then you can force push the first commit, let Travis do its thing, and after that push the second commit. 
This way it's easier to see what happened and what's the results on Travis per commit.