Add program options class template.

Class template to deal with the generic part of using Boost Program Options.