add connection buffer

 * connection buffer receives data
 * it asks message parser if a message is complete
 * buffer accumulates data
 * it removes complete message from the buffer
 * it should pass complete message to the message complete callback