Make channels buffered to prevent goroutines leak.

Users may ignore done message. Also, functions which runs two goroutines that writes to one channel will always produce a leak.
Killable must send kill message if user didn't.
Merge pull request #5 from bredov/patch-1

Make channels buffered to prevent goroutines leak.