Adding OutputWriter interface; incorporating into ChainConsumer; Removing unused flag code from DefaultDistributor

The changes can be summarized as follows:
1) ConsumerResult no longer holds rowResults
2) New interface OutputWriter separates output writing from the updating of datasets (left for DataConsumer); Note that OutputWriter is still handling formatting of output
3) OutputWriter management code added to ChainConsumer
4) DefaultWriter implementation of OutputWriter replaces DefaultConsumer
5) OutputStreamWriter class (now obsolete) has been removed
6) Old (unused) flag management code removed from DefaultDistributor