INT-2455: Support HTTP Outbound 'encode-uri' Flag

The `<http:outbound-channel-adapter>` and `<http:outbound-gateway>` now provide
an `encode-uri` option that controls whether the request uri is encoded
(default `true`).

It can be useful in some scenarios with a non standard URL, e.g. RabbitMQ REST API:
'http://foo.RabbitMQ.com/api/queues/%2f/bar.queue' where we must not
encode the '%'.

https://jira.springsource.org/browse/INT-2455

INT-2455: Polishing based on PR comments

INT-2455: 'encode-uri' in the Reference Manual
Merge pull request #755 from artembilan/INT-2455

* INT-2455:
  INT-2455: Support HTTP Outbound 'encode-uri' Flag
INT-3001 Field Order in SyslogToMapTransformer

Use a LinkedHashMap instead of HashMap so iterators
retain the original field order.
Merge pull request #798 from garyrussell/INT-3001

* garyrussell-INT-3001:
  INT-3001 Field Order in SyslogToMapTransformer
INT-2976 Update JavaMail to 1.4.7
Merge pull request #796 from garyrussell/INT-2976

* garyrussell-INT-2976:
  INT-2976 Update JavaMail to 1.4.7
Fix compile error in STS/Eclipse.

TestUtils exists in both s-i-test and in src/test... in
s-i-core.

Gradle import caused the file module to use the one in
core that was missing a method.

We should look at a better solution but for now, this
commit syncs the two versions.

Also polished to fix white space violations.
Merge pull request #778 from kdvolder/master

* TestUtils:
  Fix compile error in STS/Eclipse.
XD-33 - Implemented Local Channel Registry

modified per Artem's comments and added pub-sub to support inbound taps

Modified tap to use provided wiretap on inbound channels. Tap on outbound not supported

Changes to support conditional shared channel creation and the ability to share a registered channel for inbound() and outbound()
Merge pull request #795 from dturanski/XD-33

* XD-33 - Implemented Local Channel Registry
INT-2903 Fix Timing Problem in TCP Timeout Tests

Use latches and the new CLOSE event instead of arbitrary waits for
sockets to close.

Factor out common test code into setup methods.

removed system.out
Merge pull request #797 from garyrussell/INT-2903

* INT-2903: Fix Timing Problem in TCP Timeout Tests
INT-2972 FixedMethodFilter - Return Mutable List

Compatibility with SF 3.2.2

Previously the filter returned a Collections.singletonList() when
a match is found.

Spring 3.2.2 attempts to sort the results of MethodFilter.filter()
which fails because the list is immutable.

Continue to return Collections.emptyList() with no match; this
does not cause the sort to fail.

Several tests in MethodInvokingMessageProcessorTests reproduce this
problem with Spring 3.2.2.

Add a test to confirm the Collections.emptyList() does not cause
any problems.
Merge pull request #792 from garyrussell/INT-2972

* INT-2972: FixedMethodFilter - Return Mutable List
INT-2956 Fix NIO With Custom Deserializers

The TcpNioConnection uses an internal InputStream.

The standard deserializers only use the read() method.

Custom Deserializers might use read(byte[]); the
internal InputStream did not override these methods, possibly
causing the deserializer to hang awaiting data, when none
was coming.

Override these methods, with the appropriate semantics
from the super class...

- Block until at least one byte arrives.
- Return early if no data is available after at least one byte arrives.
- Return -1 if closed when no data arrived.
- Return the number of bytes actually read.

Polishing - PR Comments remove read(byte[]) because it doesn't do
anything different to the superclass method.
Merge pull request #762 from garyrussell/INT-2956

* INT-2956: Fix NIO With Custom Deserializers
INT-2999 Add BeanResolvers to AMQP OB Endpoints

Expressions (routing key, exchange, correlation data) did
not resolve beans. Need to add the BeanFactory (if present)
to the MessageProcessors.

Add test case.
Merge pull request #794 from garyrussell/INT-2999

* INT-2999: Add BeanResolvers to AMQP OB Endpoints
INT-3002 Fix Content-Type Mapping

https://jira.springsource.org/browse/INT-3002

The AMQP outbound endpoint behaves differently when configured
as a gateway compared to when it is configured an adapter.

With the adapter, the header mapper is invoked after the message
converter (via the MPP callback).

With the gateway, the mapper is invoked before the converter.

The SimpleMessageConverter unconditionally sets the content-type,
overriding any mapped content type.

Change the code to invoke the header mapper after the converter
to match the adapter logic.

Remove the TODO. The method now exists, but Using a MPP in the
gateway case does not provide access to headers on the reply.

Add test cases.
Merge pull request #799 from garyrussell/INT-3002

* INT-3002: Fix Content-Type Mapping