Catch published messages in testing (minitest)

Example with Minitest Unit:

```ruby
require "sinapse/testing"

class RoomTest < Minitest::Test
  include Sinapse::TestHelper

  def setup
    Sinapse::Testing.enable!
  end

  def teardown
    Sinapse::Testing.disable!
    Sinapse.messages.clear
  end

  def test_publishes_message
    assert_publishes(1) { rooms(:main).publish("message", event: "event") }
    assert_equal "event", Sinapse.messages.last[:event]
    assert_equal "message", Sinapse.messages.last[:message]

    refute_publishes {}
  end
end
```