Fixed failing doctest in integer_mod_ring.py from (my bad) merging.
Trac #10963: More functorial constructions

This ticket implements:

- Support for full subcategories defined by an axiom (Finite,
  Infinite, Facade, Commutative, Associative, Unital,
  Inverse, NoZeroDivisors, Division, FiniteDimensional, Connected,
  WithBasis, Irreducible), and joins thereof:

{{{
    sage: Groups() & Sets().Finite()
    Category of finite groups
    sage: Algebras(QQ).Finite() & Monoids().Commutative()
    Join of Category of commutative algebras over Rational Field and
Category of finite monoids
    sage: Rings().Division() & Sets().Finite()
    Category of finite fields
}}}

- New categories:
  - AdditiveSemigroups, AdditiveMonoids, AdditiveGroups
  - DistributiveMagmasAndAdditiveMagmas
  - MagmaticAlgebras (will replace Algebras in #15043)
  - AssociativeAlgebras
  - UnitalAlgebras
  - Algebras of additive semigroups and monoids

- More mathematical rules:
  - A subquotient of a finite set is a finite set
  - The algebra of a finite set is finite dimensional
  - The algebra of a commutative magma is commutative
  - A finite division ring is a field
  - ...

- Documentation:
  - More documentation for IsomorphicObjects
  - Complete revamping of sage.categories.primer
  - Misc

- Use SubcategoryMethods to put the functorial constructions where
  they belong. E.g. DualObjects, TensorProducts, and Graded are now
  only defined for subcategories of Modules.

- More lazy imports, removed a bunch of unused imports, ...

Patch developed on:
http://combinat.sagemath.org/patches/file/tip/trac_10963
-more_functorial_constructions-nt.patch.

This ticket is dedicated to the town of Megantic where I was so warmly
welcomed and a good chunk of this ticket got implemented!

Apply:

* [attachment:trac_10963-more_functorial_constructions-nt.patch]
* [attachment:trac_10963_doctest_correction-fc.patch]
* [attachment:trac_10963-more_functorial_constructions-graded-modules-
fix-nt.patch]

URL: http://trac.sagemath.org/10963
Reported by: nthiery
Ticket author(s): Nicolas M. Thiéry
Reviewer(s): Simon King, Frédéric Chapoton