[artifactory-release] Release version 1.4.0.RELEASE
[artifactory-release] Next development version
Fix Test Timing Issues

`template.getUnconfirmed(0)` won't return confirms pending in the
current millisecond. Change age to `-1`.
AMQP-445: Move build to Java 8

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

* Accept Java 8 JavaDocs style
* Polishing for docs and build files to get rid of `springsource` where it is possible
AMQP-448 Support 3.4.x Direct reply-to

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

RabbitMQ now supports "Direct reply-to" where an RPC sender
can specify `amq.rabbitmq.reply-to` and the broker provides
special handling to return the reply to the sending channel.

This is more efficient than creating a temporary reply queue each
time. The `RabbitTemplate` has provided an alternative to creating
new reply queues via a reply message listener container and correlation
data.

With this change, the template now supports "Direct reply-to" and will
use it instead of temporary reply queues when no reply-listener is
provided.

Tested on a server with 3.4.1 RabbitMQ as well as one with 3.1.1 for
backwards compatibility.

__NOTE:__ On the receiving side, the message `reply_to` property
has the form `amq.rabbitmq.reply-to.<base64string>`. Because `/` is a
valid `base64` character, we can't use normal reply-to address decoding
`<exchange>/<routingKey>`. The `MessageListenerAdapter` therefore detects
that Direct reply-to is being used before decoding the address.

Polishing

Move reply address decoding to a static method in `Address` and invoke from all places
where it is needed.

Causes a minor leak of rabbitmq into spring-amqp (the name of the direct reply queue).

AMQP-448 Polishing; PR Comments