JIRA: https://jira.spring.io/browse/INT-4238
Revert to using the sync client in the message-driven adapter so we can detect
subscription failures (the sync client throws an exception).
The only reason to use the async client was to timeout disconnects; this can
be achieved with the sync client and `disconnectForcibly`.
Also, the subscribe method updates the qos argument with the granted QOS values.
Detect and log if any QOS does not match the request.
Polishing
Polishing - PR Comments
Conflicts:
spring-integration-mqtt/src/test/java/org/springframework/integration/mqtt/MqttAdapterTests.java
* Remove all new tests since Paho lib has class signature check, so we can't mock its classes