Refactor document generation

Check for all tools: Doxygen, Latex and Graphviz
Optional generation of HTML, Latex, PDF and man pages.
Optional install/packaging of HTML, Latex, PDF and man docs.
Reorganized different CMake cache variables into groups.
Fix missing example in program wrapper documentation.
CMake var DOC_EXCLUDE_TESTS only appears if doc build is enabled

Improve organization of base cmake definitions.
Add option to update VERSION file instead of doing it automatically
which usually required a "git checkout -- ." before pulling from
remotes, switching branches, etc.
Add fake doc target when doc build tools are not found