refactor client protocol
new consumer close method
abstract session on consumer
abstract session on producer
Session abstraction