Add program.opts namespace for all options

Add `opts` namespace, which holds all options and values. Unlike the Commander object itself, it will have values for all options. Addresses open issues #29 and #19.

Includes updates to existing test suite.