Do not allow channel id values above 2^16

This is another implementation of https://github.com/postwait/node-amqp/pull/237 to keep channel id values below 65536 which is the largest number RabbitMQ accepts. #237 is a bit more complex and probably a better solution but it is out of sync with the current codebase and it does not include a test to prove the issue.

This pull request adds logic to loop and reuse channel id values in the range of 1..65536.