Add SingletonClass, and use it for the rational field
Use WithEqualityById on SingletonClass, replace QQ.__hash__
Add tests for SingletonClass
Add Rational.__new__, to make ancient pickles readable
Fix the hash value doctests of Heegner points
Fix several more hash tests
Use "sorted" in one test on sets
SingletonClass: cosmetic changes.
SingletonClass: Less redundant docstrings
QQ/SingletonClass: Delete redundant doctest

No need to unpickle the whole pickle jar twice.
Make QQbar, AA, and PariRing 'SingletonClass'es
Merge branch 'u/mmezzarobba/15247-singleton_class-rebased' of trac.sagemath.org:sage into public/structure/singleton_class-15247
Some review changes for #15247.
trac #10778 hungarian tour of sage
Merge branch 'public/singleton_class-15247' of trac.sagemath.org:sage into public/singleton_class-15247

Conflicts:
	src/sage/categories/homset.py
	src/sage/schemes/elliptic_curves/ell_generic.py
	src/sage/schemes/elliptic_curves/heegner.py
Fix merge error
Simplify numerical evaluation of BuiltinFunctions
Merge remote-tracking branches 'origin/u/jdemeyer/ticket/17131' and 'origin/u/jdemeyer/ticket/17133' into ticket/17130
Print the git branch when doctesting
Fixes a misspelling at src/sage/categories/pushout.py and the docstring test with CallableSymbolicExpressionRing