When merging use associations into a generic, we weren't handling
the case where the name that was use associated was itself a use
association. This is fixed by following that association to its
ultimate symbol (useUltimate in DoAddUse).
An example of the bug is m12d in resolve17.f90. g is associated
with gc in m12c which is associated with gb in m12b. It was that
last association that we weren't correctly following.
clang-tidy: warning: 'auto &generic2' can be declared as 'const auto &generic2' [llvm-qualified-auto]
not useful