AMQP-422 PublisherCallbackChannel: postpone close

JIRA: https://jira.spring.io/browse/AMQP-422

Add `stopSemaphore` and `closeTimeout` option to the `PublisherCallbackChannelImpl`
to postpone physical `close` until timeout or handlong for all pending confirms

Decrease `@Repeat` for `RabbitTemplatePerformanceIntegrationTests` for better build performance
How about this?
````java
@Override                                                                                  
public void run() {                                                                        
	try {                                                                                  
		CachedChannelInvocationHandler.this.target.waitForConfirmsOrDie(getCloseTimeout());
	}                                                                                      
	catch (InterruptedException e) {                                                       
		Thread.currentThread().interrupt();                                                
	}                                                                                      
	catch (Exception e) {}                                                                 
	finally {                                                                              
		try {                                                                              
			if (CachedChannelInvocationHandler.this.target.isOpen()) {
                         	CachedChannelInvocationHandler.this.target.close();
                        }
		}                                                                                  
		catch (IOException e) {}                                                           
		catch (AlreadyClosedException e) {}                                                
	}                                                                                      
}                                                                                          
````