[Chapel Merge] Squash all deprecation warnings in deprecated symb

Branch: refs/heads/master
Revision: 309ebb8
Author: lydia-duncan
Log Message:

Merge pull request #17888 from lydia-duncan/squashAllInDeprecated

Squash all deprecation warnings in deprecated symbols, no matter how deeply
[reviewed by @dlongnecke-cray]

We were squashing deprecation warnings that were defined directly in a
deprecated symbol, but would only check the immediate parent symbol. This meant
that if a deprecated symbol had a use of another deprecated symbol in a much
deeper context, we'd still get those warnings. This change makes it so that all
deprecated warnings in already deprecated symbols are squashed, no matter how
deeply nested.

Add a test locking in the new behavior. We already have a test of a deprecated
symbol directly in another deprecated symbol, so this test covers a use in an
intervening symbol in an intervening module, and another module in the intervening
module, just to be certain.

Passed a full paratest with futures

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

A test/deprecated-keyword/deepDepInDep.good
M compiler/AST/symbol.cpp

Compare: https://github.com/chapel-lang/chapel/compare/897683c378a5...309ebb8173fd