AMQP-341: Add logic for System 'line.separator'

JIRA: https://jira.springsource.org/browse/AMQP-341
AMQP-340 Fatal on RabbitMQ Authentication Failure

Consider RabbitMQ authentication failure as FatalListenerStartupException in order to abort further connection attempts
* add `PossibleAuthenticationFailureException` to the list of exceptions being converted in `RabbitExceptionTranslator`
* add unit test for `RabbitExceptionTranslator`

JIRA: https://jira.springsource.org/browse/AMQP-340

Based on original work by Sergey Shcherbakov <sshcherbakov@gopivotal.com>

AMQP-340 Polishing

Introduce AmqpAuthenticationException wrapper to avoid getting
a listener exception when not using a listener.
AMQP-337 Emit Closed Event on All Closes

Previously the ConnectionListener.onClose() was only called
when the connection factory was destroyed, and not when a
closed connection is refreshed.

Also, the onClose() in destroy passed in the target connection
instead of the proxy (which is what is passed to onOpen().

JIRA: https://jira.springsource.org/browse/AMQP-337