Since commit 07223c5c27 (Tutorial: Update Step 5 to work on Windows,
2020-02-18, v3.18.0-rc1~655^2) the logic does not work on non-Windows
platforms when cmake is re-run on an existing build tree. It is also
more complicated than we'd like for a tutorial example. Avoid the need
to consider the `m` library case by performing the check as C++.
Since `check_cxx_symbol_exists` cannot handle overloaded functions
like `exp` and `log`, check with `check_cxx_source_compiles` instead.
This also presents a more general-purpose example in the tutorial.
Fixes: #23524
`log` and `exp` should be found on Windows systems now, as expected.
Update tests to be more specific in looking for the expected outcome of
the tutorial.
* Updated output message
* Use 'target_compile_definitions' for HAVE_LOG and HAVE_EXP
Previously, the change from using TutorialConfig.h to
target_compile_definitions happened without explanation as part of Step 8.
Migrate tutorial text from individual `directions.txt` files to the main
tutorial document. Add some comments to source code to provide anchors
for inclusion.