don't put canceled or deadlined tasks to sleep
clean up channel impl
simplify channel logic. fix race condition in unbuffered mode.
Merge pull request #83 from chipdude/master

make ptr<T>(p) non-explicit, etc.
ctest output on failure and fail build when tests fail