gh-36190: establish interface for instantiated classical modular polynomials
Generic modular polynomials (i.e., as elements of $\mathbb Z[X,Y]$) grow
very big very quickly. However, most algorithmic applications only
require evaluations $\Phi_\ell(j,Y)$ of those polynomials. There are
algorithms to compute such evaluations faster than computing-then-
evaluating the full modular polynomial, for example due to
[Sutherland](https://arxiv.org/abs/1202.3985). PARI implements both
kinds of algorithms in `polmodular()`.
This patch adds a common interface for (1) accessing Kohel's database of
modular polynomials if available, (2) calling PARI's `polmodular()` to
compute generic modular polynomials, and (3) calling PARI's
`polmodular()` to compute instantiated modular polynomials. Results are
opportunistically cached and reused whenever this seems to make sense.
URL: https://github.com/sagemath/sage/pull/36190
Reported by: Lorenz Panny
Reviewer(s): Lorenz Panny, Travis Scrimshaw