rename get() and set() to object()
move object to public
rename the base class to ProgramOption
fix doc
process arg before passing to process option members
ProgramOptionHelp member receive "--help" from caller
add move for ProgramOptionMap
fix silent
rework DispatchProgress, which now are incremented from outside and the incrementation is queued
work around a current GCD bug