FIX: don't range-check channel_ids.

Even if a channel_max is specified, channel_ids can be any number, so don't
range-check channel_ids received. At present this gets rabbitmq-c back into
compliance with the way the RabbitMQ broker works.

See issue #187, #195

To correctly enforce channel_max from the client side, rabbitmq-c would need to
track open channels, which is a bit more involved to do correctly.
Use amqp_cstring_bytes() to specify locale field.
Add properties table merge function.
Add auth failure client capability as default.
Handle connection.close on auth failure.