Generate only the fields needed for output

If a subset of field is requested, only generate data for
that subset (and recursively the fields they depend on, if any).
Generic itfc for different writers w/cmdline params

Some generic parameters, and support for writer-specific parameters.
Add CSV writer with output to file or console
Apply kibit suggested improvements
Update README with new command line syntax, and examples