allow_private option and custom rspec matcher

In my use case of wisper I would ideally be able to subscribe listeners that have private callback methods. I've added a `allow_private` option to do that. 

Also I added a custom matcher that can be optionally required. I.e. 

```ruby
expect { project.complete }.to broadcast(project, :completed)
```