Allow async publishing without having to add Celluloid to listeners, instead the listener is wrapped at runtime.
Merge pull request #5 from krisleech/transparent_celluloid

Make async publishing transparent, so no need to add Celluloid to listeners.
Update Travis CI badge to show build status for master branch only
Recommend pinning to version which will not introduce breaking changes. [skip ci]
Reword README a little and simplify examples [skip ci]
fixes: `require': cannot load such file -- celluloid/autostart (LoadError) when Celluloid is not installed [7]
bump patch version
Fixes: Make global listeners getter and setter threadsafe [9]
Add note about threadsafety to README [skip ci]
Merge pull request #10 from krisleech/threadsafe-global-listeners

Threadsafe global listeners, fixes #9
remove async/celluloid
Merge pull request #11 from krisleech/remove_async

remove async/celluloid (its going in its own gem)
Fix a potential threadsafe issue

Lazily setting @mutex could lead to have two mutexes with a sample code
like:

    [MyListener.new, MailListener.new].each do |listener|
      Thread.new {
        Wisper::GlobalListeners.add_listener(listener)
      }
    end

This example is cumbersome, but well, it shows the idea. Even with a
singleton, if `add_listener` is called a first time by two different
threads, this could lead to thread safety issues for ruby implementation
without a gvl.

Signed-off-by: chatgris <jboyer@af83.com>
Merge pull request #12 from chatgris/threadsafe

Fix a potential threadsafe issue
`#listeners` returns all listeners, both local and global.
freeze the collection returned by `#listeners` (since mutating it will not have the desired effect)
Merge branch 'immutable_collection'
rename module which is included from Wisper to Wisper::Publisher
Raise when Wisper is included (old syntax) instead of Wisper::Publisher (new syntax)
Rename wisper_spec to wisper/publisher_spec
#listeners returns a collection of listeners, not registrations.
add spec for .add_listener alias