Implement Auth Failure RabbitMQ extension

Implement the [Auth Failure RabbitMQ extension](https://www.rabbitmq.com/auth-notification.html) to provide a more useful error message on authentication failure.

Features this depends on:
- A way to correctly merge the default and provided client-properties table (And tests)
- Providing `authentication_failure_close = true` entry in the default capabilities table.
- Proper handling of a `connection.close` in `amqp_login_inner`.

Hopefully the first item will assist in implementing other rabbitmq extensions.