enable doxygen, add semantics headers, and create cmdline::validate()