[Chapel Merge] Add deprecation warnings when deprecated configs a

Branch: refs/heads/master
Revision: 1f3763d
Author: lydia-duncan
Log Message:

Merge pull request #17848 from lydia-duncan/deprecateConfigs

Add deprecation warnings when deprecated configs are set at compilation and execution
[reviewed by @bradcray]

Deprecated configs already have warnings generated when the config is used in
Chapel code, but special handling was needed to generate warning when the
config is set via compilation or execution arguments. This change adds such
handling.

Resolves #17791
Resolves Cray/chapel-private#2089

Since we check whether a config has been set at compilation time when we see the config's declaration (and don't attach the deprecation information until later), generate the compilation time warning when we would attach the deprecation flag and message.

For the execution flags, pass deprecation information along at codegen so that the
runtime can detect if the config being set was deprecated and generate the
appropriate message if so.

Adds tests to cover the behavior of config params and the behavior of config
vars, both with and without an explicit message provided. These tests pass in
various combinations of compilation options and execution options respectively.

Passed a full paratest with futures

Modified Files:
A test/deprecated-keyword/handleConfig.chpl

A test/deprecated-keyword/handleConfig.execopts
A test/deprecated-keyword/handleConfig.set.good
A test/deprecated-keyword/handleConfig.set2.good
A test/deprecated-keyword/handleConfig.unset.good
A test/deprecated-keyword/handleConfigNoMsg.chpl
A test/deprecated-keyword/handleConfigNoMsg.execopts
A test/deprecated-keyword/handleConfigNoMsg.set.good
A test/deprecated-keyword/handleConfigNoMsg.set2.good
A test/deprecated-keyword/handleConfigNoMsg.unset.good
A test/deprecated-keyword/handleConfigParam.chpl
A test/deprecated-keyword/handleConfigParam.compopts
A test/deprecated-keyword/handleConfigParam.set.good
A test/deprecated-keyword/handleConfigParam.unset.good
A test/deprecated-keyword/handleConfigParamNoMsg.chpl
A test/deprecated-keyword/handleConfigParamNoMsg.compopts
A test/deprecated-keyword/handleConfigParamNoMsg.set.good
A test/deprecated-keyword/handleConfigParamNoMsg.unset.good
M compiler/AST/build.cpp
M compiler/codegen/codegen.cpp
M runtime/include/config.h
M runtime/src/config.c

Compare: https://github.com/chapel-lang/chapel/compare/c33418dd9109...1f3763d08d8a