FiniteStateMachine.deepcopy: additional doctest

In order to make sure that the deepcopy mechanism
preserves the links between states and vertices,
added another doctest.
move code from Spec to AffineScheme, deprecate is_Spec
replace is_CommutativeRing() by category membership, fix handling of ideals
replace Spec by AffineScheme where appropriate
fix __init__
distinguish "point homsets" and "normal homsets" using flag
fix AffineScheme call syntax
fix doctest failures
rewrite Spec as a functor, fix pickling and related things
add documentation for AffineScheme, Spec, SpecFunctor
add methods _repr_() and _latex_() to SpecFunctor
Merge branch 'u/wluebbe/ticket/15990b' of git://trac.sagemath.org/sage into Spec_functor

Conflicts:
	src/sage/schemes/generic/scheme.py
	src/sage/schemes/generic/spec.py
use correct Trac ticket number
Merge branch 'develop' into ticket/16158-Spec_functor
fix raise syntax and a line of documentation
Merge branch 'develop' into ticket/16158-Spec_functor
Trac 16158: add doctest to AffineScheme.__setstate__()
Merge branch 'develop' into ticket/16158-Spec_functor

Conflicts:
	src/sage/schemes/generic/spec.py
Trac 16158: fix capitalisation in "Category of schemes"
FiniteStateMachine: fix one more occurrence of raise E, ... (cf. #15990)

introduced at the same time
FiniteStateMachine._latex_: replaced inefficient code

Previously, a O(n^3) code was used in latex; this is now
O(m). This resulted in a reordering of the output of _latex_,
so doctests had to be adapted.