Respect channelMax

Limit number of channels to channelMax as negotiated with the server.
Try to find an available channel id, even if it means to wrap around.
Return ErrChannelMax if no available channel id can be found.

Addresses #115
Actually, `func pick()` should handle the default case of ['use maximum'](https://github.com/streadway/amqp/pull/116/files#diff-8f8a79f3f89c69a28dd878de98384cf9L639) so `defaultChannelMax` looks to be unnecessary.