Extra tests and a minor change for shuffle()
UnbufferedChan is moved to its own file

SingletonChan once again is a subclass of pthreadChan.
Some minor formatting changes.