Fix uniqueness of function field extensions

The key to create a function field has to depend on the base field and not only
on the polynomial used to define it. This is because polynomials over different
function fields may compare equal but still the corresponding function fields
should be different.
Trac 13277: Added _factor_univariate_polynomial() for ComplexField and RealField
Trac #13647: fix initialization of padics from polynomials
Improve printing of function field morphisms

They should print like any other morphism; in particular they now show they
domain and codomain.
trac #16582: MOLS: Table with n<600 and updated syntax
Trac #16530: Caching error for function field extensions

Currently, we have the following behaviour
{{{
sage: K.<x> = FunctionField(QQ)
sage: R.<y> = K[]
sage: L.<y> = K.extension(y^2-x)
sage: R.<z> = L[]
sage: M.<z> = L.extension(z-1)
sage: R.<z> = K[]
sage: N.<z> = K.extension(z-1)
sage: N is M
True
}}}

URL: http://trac.sagemath.org/16530
Reported by: saraedum
Ticket author(s): Julian Rueth
Reviewer(s): Martin Albrecht
Trac #16582: MOLS: Table with n<600 and updated syntax

Heeeeere it is ! A longer table, as we can compute it rather quickly
now, aaaaand also a change in the syntax of the new function
`mutually_orthogonal_latin_squares` which accepted `n,k` when all others
(TD and OA) expected `k,n`.

Nathann

URL: http://trac.sagemath.org/16582
Reported by: ncohen
Ticket author(s): Nathann Cohen
Reviewer(s): Vincent Delecroix
Trac #13647: padic elements can not be initialized from polynomials

Currently, elements of extensions of Qp/Zp can not be initialized from
polynomials in some cases:
{{{
sage: K = Zp(3)
sage: R.<u> = K[]
sage: L.<u> = K.extension(u^2 + 1)
sage: L(R.gen())
u + O(3^20)

sage: K = ZpCA(3)
sage: R.<u> = K[]
sage: L.<u> = K.extension(u^2 + 1)
sage: L(R.gen())
NotImplementedError

sage: K = ZpFM(3)
sage: R.<u> = K[]
sage: L.<u> = K.extension(u^2 + 1)
sage: L(R.gen())
NotImplementedError
}}}

The attached patch fixes this.

URL: http://trac.sagemath.org/13647
Reported by: saraedum
Ticket author(s): Julian Rueth
Reviewer(s): Martin Albrecht
Trac #16566: Improve printing of function field morphisms

Function field morphisms currently implement their own `_repr_` method
for printing. This ticket makes them use the generic implementation of
maps.

URL: http://trac.sagemath.org/16566
Reported by: saraedum
Ticket author(s): Julian Rueth
Reviewer(s): Martin Albrecht
Trac #13277: Add _factor_univariate_polynomial() for RealField and ComplexField

As a part of #11731, transfer the code which does the factorization over
{{{RealField}}} and {{{ComplexField}}} from
{{{sage.rings.polynomial.polynomial_element.Polynomial.factor()}}} to
the corresponding classes.

URL: http://trac.sagemath.org/13277
Reported by: saraedum
Ticket author(s): Julian Rueth
Reviewer(s): Martin Albrecht