Improved exception safety
Removed use of Boost.Program_options