Changed the keepChannel to buffered channel.

Since the keepChannel is used to send data, not just for synchronizaiton,
so make it a buffered channel can avoid unnecessary goroutine yields.
Merge pull request #445 from yifan-gu/buffered_chan

Changed the keepChannel to buffered channel.