AMQP-405: Improve `AbstractRoutingConnectionFactory`

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

Added add,remove and get methods for targetConnectionFactories in
AbstractRoutingConnectionFactory

Added protected methods for
addTargetConnectionFactory,removeTargetConnectionFactory and
getTargetConnectionFactory so clients manipulate the map if needed

I have signed and agree to the terms of the SpringSource Individual
Contributor License Agreement.

Changed targetConnectionFactories Map implementation to
ConcurrentHashMap and made the variable final. Also made the
ConnectionFactoryListener List variable final.

I have signed and agree to the terms of the SpringSource Individual
Contributor License Agreement.

Add `if (lookupKey != null)`