AMQP-394 Support Rabbit 3.3.x Client

JIRA: https://jira.spring.io/browse/AMQP-394

- Return type of ShutdownSignalException.getReason() was narrowed
- Method changes on `Channel`

Use reflection to detect client version and invoke appropriately.

AMQP-394 Polishing - PR Comments

AMQP-394 More Polishing