AssocLegendre is used to evaluate the associated legendre
function Plm(x), using recursion relations
from Appendix B, Volume 1, Messiah's Quantum Mechanics.
At some point I plan to make some modifications to speed up
evaluation when multiple function calls are made with regularly
changing values of l.
The Java version uses the doubleFactorial method from the
MathLib class. For the C++ code,
factorial routines are included.