INT-2823 Add QueueChannelOperations

Operations on QueueChannel (clear, getQueueSize etc) are not available
when the IntegrationMBeanExporter is configured because they
are not declared on the PollableChannel interface.

Add an additional interface QueueChannelOperations.

The proxy proxies all interfaces so users can cast the
proxy to QueueChannelOperations to use its methods.
Merge pull request #732 from garyrussell/INT-2823

* garyrussell-INT-2823:
  INT-2823 Add QueueChannelOperations
INT-2922 Fix TypeConverter Concurrency Issue

During initialization, it is possible for type conversion to fail because a second thread accesses a partially built list of PropertyEditors. This is because getDefaultEditor(Class) is not thread-safe.

* Add a test with mocks and spies to verify concurrent access to the method occurs before the fix, and not after the fix.
* Synchronize the call to getDefaultEditor(), when called from canConvert() and convertValue().
* Only synchronize the call until we have invoked the method at least once.
Merge pull request #739 from garyrussell/INT-2922

* garyrussell-INT-2922:
  INT-2922 Fix TypeConverter Concurrency Issue
INT-2911 IO Exceptions Not Logged as ERROR

TcpNetConnection IO errors were only logged under DEBUG.

* Code was added to suppress the error log when the exception was due to a normal close. This inadvertently suppressed all ERROR logs.
* Capture a local copy of this.noReadErrorOnClose before closing the socket after an exception.
* Add test case to ensure ERROR log is emitted.
Merge pull request #728 from garyrussell/INT-2911

* garyrussell-INT-2911:
  INT-2911 IO Exceptions Not Logged as ERROR
INT-2900 Remove Extraneous Debug Log

When referencing a <gateway/> from a <service-activator/>, a debug
log is written with a full stack trace.

This is because all methods on the proxy are considered candidates,
but one method (addAdvice) has multiple parameters and can't be
used to process a message.

Add code to detect a proxy that has no target object; if the Proxy
only has one interface, then use that as the targetClass.
Merge pull request #733 from garyrussell/INT-2900

* INT-2900: Remove Extraneous Debug Log