Add support for needed real life features

This pull request adds two things.
1. Support for sending data without limiting to the "msg" field which is not really needed.
2. Support sending bulk messages on a queryset. Sending to an unlimited amount of objects in an efficient way.

These are needed in order to use this framework, as they are both very common real-life use cases.

Note: if you wish, this merge commit can be dropped, and you can just use the 2 commits themselves, as they are not tightly tied.
First of all thanks for this PR @tasn.

`send_message` is no needed anymore. We can get rid of it and put something like this to keep compatibility:
```
if not isinstance(data, dict):
    data = {'msg': data}
```