Add --channels options

My work on adding `--channels`, as discussed with @mwiebe and @bryevdv.  I haven't finished the work yet. 

Let me know what you think of the user-facing API (once I have pushed it).