Some parts of this library were copied from elsewhere on the internet.  When I
first started assembling this library, I had no ambitions of publication, and as
such, I wasn't terribly concerned with attribution; consequently, some of the
proper sourcing of the copied code is lost.  The sources I can recall are:

isqrt, mpqs, modinv_mpqs are largely unmodified from primo's post at
https://codegolf.stackexchange.com/a/9088.

The main helper functions for the general case of the modular square root
(hensel_lift, hensel_lift_2, and sqrtmod_primepow) are largely unmodified from
the code at http://ccgi.gladman.plus.com/wp/?page_id=1500, which seems to no
longer exist.

