Split pipe.cc into several modules
Finish the iterator interface to coroutine prototype

- This is still fairly rough, but dwgrep.hh now contains a clean
  user-oriented interface to the whole system.  Access to query result
  is through an iterator akin to a stream iterator.