Let logical input channels control their own state

and throw exceptions on error states (mapping) instead of silently try
to correct the state
Add worker/master id to channel toString
Fix shallow remote connect test

other threads may change the readability between setReadable and isReadable
Channel state change deadlock

remove  possible deadlock between ChannelContext.statemachinelock and
channelpool.updatelock by always acquiring the updatelock before the
statemachinelock
Add more logs for debug
resume read when stream input channel eos
remove useless codes
Protect input buffer size by a lock

Add an input buffer size variable and protect it by a lock. The code
is much simplified and also it's much easier to infer the correctness
of an IB implementation because the buffer size is the single state
variable that controls all the flow control event triggers and the data
pulling thread
Add worker id to query failure msg
Add input buffer test
Add BigClusterTest

1. Test under 30 workers.
2. Catalog.addWorker is super slow (2~3 seconds each call on my
machine), implement addWorkers to batch the addition