update amqp: add multiple channel, add waitForConfirms and waitForMessages

add following features:
1. client can do things(open channel, publish messages, consume messages, etc) on multiple channel;
2. add request type "waitForConfirms" for waiting confirms from sever when publishing messages;
3. and request type "waitForMessages" for waiting messages deliveries from server when consuming messages;
4. update amqp stat, add/update following stat:
   amqp_connected: counter for connection created;
   amqp_closed: counter for connection closed;
   amqp_channel_opened: counter for channel opened;
   amqp_channel_closed: counter for channel closed;
   amqp_consumer: counter for consumer(basic.consume)
   amqp_published: counter for messages published;
   amqp_confirmed: counter for messages confirmed;
   amqp_delivered: counter for message delivered to the client(and acked by the client);