Fix bug when setting program_name that would throw errors.
Add traits enum for extra enum boolean configurations.
Add tests. Remove -Werror. Remove reference to added element from
add due to std::set having pure const_iterators.