make Doxygen a requirement if documentation is to be built

Only find doxygen if needed, and then also make it fail hard it wasn't found. This removes some unclarity when building documentation.