[Chapel Merge] Rework range docs and merge chpldoc range output i

Branch: refs/heads/main
Revision: 59d17bb
Author: bradcray
Link: Unavailable
Log Message:

Merge pull request #20057 from bradcray/range-doc-rework

Rework range docs and merge chpldoc range output into spec

[reviewed by @e-kayrakli]

This PR updates the range docs to incorporate the chpldoc-generated
docs for ChapelRange.chpl into the language spec and remove redundancies.

While here, I also took a pass over the ranges primer, incorporating content from
the ChapelRange.chpl module's header (which is redundant with the spec) into
it rather than just dropping it on the floor; and giving it a refresher pass in general.

In general, also updated content to reflect changes in this release.

To make the ranges primer continue to work, I did add one new param overload of
hasFirst()/hasLast() that would return false for a completely unbounded range
that is stridable. Previously, this fell into the non-param case, which prevented
some nice conditional folding. Essentially, the logic here is that completely unbounded
ranges can never have first or last.

Modified Files:
M doc/rst/conf.py

M doc/rst/language/spec/ranges.rst
M doc/rst/meta/builtins/index.rst
M modules/internal/ChapelRange.chpl
M modules/internal/fixInternalDocs.sh
M test/release/examples/primers/ranges.chpl
M test/release/examples/primers/ranges.good
M test/release/examples/primers/taskParallel.chpl

Compare: https://github.com/chapel-lang/chapel/compare/ae9d20468107...59d17bbe8bda