Remove never-needed return value.

Make some types private.
Merge pull request #2527 from erictune/cleanup2

Remove unused return value.  Make stuff private.
Create a "Config" API object, to be used for storing per-component
command line flags (issue #1627).