Abstract publishing for reuse

@bellycard/platform 

This will allow us to broadcast to Rabbit outside of the scope ActiveRecord callbacks. 

```ruby
NapaRabbitPublisher.publish({foo: 'bar'}, routing_key)
```