Make Hutch::Broker#publish accept message properties

We make sure that persistent: true is not overriden until you
explicitly do so. Routing key, timeoust and message id are currently
non-overridable, which makes sense with Hutch's opinionated nature.

Fixes #50.
Formatting
Make it possible to override :message_id
Merge pull request #51 from ruby-amqp/issue50

Make Hutch::Broker#publish accept message properties