Got rid of a few comments in favor of a better data type

Instead of using Maybe, use a dedicated data type to indicate that
a worker thread should either scan some URI, or stop.
Added Pipe module

My first Haskell module; just as an exercise, define a little
type-safety wrapper around TChan which models a chan as a source/sink
pair. The idea is that I want to enforce unidirectional communication
at compile time by passing a chan handle to a thread which can be only
used for reading/writing.
Use TPipe for a bit more type safety

Renamed minedQueue to uriSource/uriSink while I was at it.