[Chapel Merge] Add a Lua/Lmod modulefile for Chapel on EX systems

Branch: refs/heads/1.23-for-EX
Revision: 41f7a64
Author: gbtitus
Log Message:

Merge pull request #16718 from gbtitus/add-lmod-modulefiles

Add a Lua/Lmod modulefile for Chapel on EX systems.

(Co-developed (python) and reviewed by @ronawho.)

The Programming Environment on HPE Cray EX and XC systems has added a
Lua/Lmod hierarchical module system to the existing flat Tcl-based one.
Here, add a Lua modulefile for Chapel to work with that on EX systems.
We’re only targeting EX systems for now because we need to match up with
their system feature-complete schedules. This work will be adapted
later for XC systems.

While here, this also expands the number of configurations built into
the module.

A related change is that instead of using shell syntax to parameterize
here-documents to produce the modulefiles, this starts with standalone
template files and parameterizes those using a general-purpose python
script. This seems a much cleaner and more readable technique.

This resolves https://github.com/Cray/chapel-private/issues/1416.

Modified Files:
A util/build_configs/cray-internal/chapel.modulefile.lua.template
A util/build_configs/cray-internal/chapel.spec.template
A util/build_configs/cray-internal/process-template.py
R util/build_configs/cray-internal/generate-rpmspec.bash
M doc/rst/platforms/cray.rst
M util/build_configs/cray-internal/README.md
M util/build_configs/cray-internal/chapel_package-cray.bash
M util/chplenv/chpl_gmp.py
M util/config/gather-cray-prgenv-arguments.bash
M util/config/gather-pe-chapel-pkgconfig-libs.bash

Compare: https://github.com/chapel-lang/chapel/compare/ec49b78c2f1b...41f7a64613e9