The headers ccomplex, cstdbool, and ctgmath have been marked as
deprecated in C++17, so this patch adds a #warning preprocessor
directive to these headers if they're used in a context where the C++
version is >= 17.
Additionally, update tests and remove includes of deprecated headers in
existing non-deprecated headers.
Same comment applies below.