Handle the case if our RabbitMQ connection get's dropped.

If the RabbitMQ connection gets dropped, try to reconnect and resend the
message.
Handle the case where our Exchange goes away.

If we detect the model has been closed, shutdown our model and
connection, then try to resend the message again.  That should cause the
model and connection to be re-initialized.