Trac 12141: finite algebras over fields
Merge branch 'u/pbruin/12141-FiniteAlgebra' of trac.sagemath.org:sage into public/algebras/finite_algebra-12141
Partial work on refactoring morphisms.
Merge branch 'develop' into public/algebras/finite_algebra-12141
Merge branch 'develop' of trac.sagemath.org:sage into public/algebras/finite_algebra-12141
trac #13642: modular exponentiation of polynomials
Reinstated doctest.
Marked new doctests as "not tested".
Finished implementing homsets for finite algebras.
Merge branch 'develop' into public/algebras/finite_algebras-12141
Changed finite algebras to finite dimensional algebras.
Changed inverses, doc, and arith return type.

Doc now uses finite-dimensonal and all blocks are "EXAMPLES::".
Merge branch 'develop' into public/algebras/finite_algebras-12141
function 'residue' added
Various improvements to expr.residue()

* Avoid hardcoding a variable name (the previous version could give incorrect
  results when applied to an expression containing 's')
* Lower series expansion order
* Add some tests
changed to support x==a syntax for consistency with .series()
replaced all occurences of GPLv2 with GPLv2+
First implementation of weak crystals
renamed weak crystal to affine factorization crystal
fixed rep