Manager for a Sink and Source. The Pipe creates a Queue through which the Source
can feed data to the Sink. Both Sink and Source run in their own thread and can
are completely independent of the other. When the Source pushes None onto the
Queue, the piping is stopped and the Sink finishes processing all the remaining
data. This class is especially useful for loading/copying data from one database
or table to another.