refactor client protocol
abstract session on consumer
abstract session on producer
Session abstraction
Fix on session abstraction
javadoc
loop and fix