use Boost program_options library instead of ad-hoc parsing of argc/argv