Raise type error for number field morphisms of non-embedded number fields
Simplify the logic for finding coercions between embedded number fields
Merge remote-tracking branch 'trac/develop' into ticket/15331
Added some doc for default ambient field used when trying
to create embedded number field morphisms.
Remove useless import of pushout in number_field.py.
Changed generators in affine_factorization crystal to speed it up
Test the algebraic closure before CC when constructing embeddings of number fields.
Do not forget to define ambient_field before computing its algebraic closure.
removed k from init
trac #13917: IndependentSets class
trac #13917: add more documentation
trac #13917: doctests
trac #13917: A couple of mistakes
documentation improvement
Todo section
trac #13917: A misnamed function
remove the TODO and put the comment in NOTE
Merge branch 'develop' into u/aschilling/15907/affine_factorization_crystal
Trac #15331: Do not try to create embedded number field morphisms for non-embedded number fields

The attempt to create an embedded number field morphisms for non-
embedded number fields currently fails (and should of course fail).
{{{
sage: L.<i> = NumberField(x^2 + 1)
sage: K = NumberField(L(i/2+3).minpoly(), names=('i0',),
embedding=L(i/2+3))
sage: from sage.rings.number_field import number_field_morphisms
sage: number_field_morphisms.EmbeddedNumberFieldMorphism(R, self)
Traceback (most recent call last):
...
RuntimeError: maximum recursion depth exceeded in __instancecheck__
}}}
However, instead of running into an infinite recursion, a quick and
simple `ValueError` (or perhaps `TypeError`) should be raised.

URL: http://trac.sagemath.org/15331
Reported by: SimonKing
Ticket author(s): Simon King, Marc Mezzarobba,  Jean-Pierre Flori
Reviewer(s): Marc Mezzarobba, Jean-Pierre Flori
Trac #15907: Improvements for affine factorization crystal

This patch provides some improvements for the affine factorization
crystal.
Before this patch
{{{
sage: from sage.combinat.crystals.affine_factorization import
AffineFactorizationCrystal
sage: W = WeylGroup(['A',3], prefix='s')
sage: w0 = W.long_element()
sage: %timeit B = AffineFactorizationCrystal(w0,6)
1 loops, best of 3: 131 s per loop
}}}
After this patch
{{{
sage: from sage.combinat.crystals.affine_factorization import
AffineFactorizationCrystal
sage: W = WeylGroup(['A',3], prefix='s')
sage: w0 = W.long_element()
sage: %timeit B = AffineFactorizationCrystal(w0,6)
1 loops, best of 3: 2.86 us per loop
}}}

URL: http://trac.sagemath.org/15907
Reported by: aschilling
Ticket author(s): Anne Schilling
Reviewer(s): Travis Scrimshaw