Allow configuring a publishing timeout in Producer.new

This allows customizing the publish timeout when setting up a new Producer. Previously you would have to set the custom timeout on each message.