Changed LinearCode into a new-style parent.
implement _an_element_ for LinearCode

Implementing this makes LinearCode.cartesian_product() work nicer
and in particular, LinearCode.an_element() also starts working
Implement LinearCode.cardinality()
implement LinearCode.zero()

This makes both .zero_element() and .sum() start working
Fixed LinearCode a facade parent and so that it passes the test suite.
Merge branch 'public/categories/new_parent_linear_codes-16644' of trac.sagemath.org:sage into public/categories/new_parent_lienar_codes-16644
Added back in cardinality and made __len__ an alias.
Import cleanup of linear_code.py.
trac #16715 remove all unbreakable spaces from fr documentation
trac #16715 remove all unbreakable space from russian doc
Trac #16644: LinearCode.cardinality category breakage

{{{
sage: C = codes.HammingCode(3, GF(2))
sage: C.cardinality()
------------------------------------------------------------------------
---
AttributeError                            Traceback (most recent call
last)
<ipython-input-2-2e23aafacb95> in <module>()
----> 1 C.cardinality()

/home/release/Sage/local/lib/python2.7/site-
packages/sage/structure/parent.so in
sage.structure.parent.Parent.__getattr__
(build/cythonized/sage/structure/parent.c:7211)()

AttributeError: 'LinearCode' object has no attribute 'cardinality'
sage: 'cardinality' in dir(C)
True
sage: hasattr(C, 'cardinality')
False
}}}

URL: http://trac.sagemath.org/16644
Reported by: ppurka
Ticket author(s): Travis Scrimshaw, Punarbasu Purkayastha
Reviewer(s): Nathann Cohen, Punarbasu Purkayastha, Travis Scrimshaw
Trac #16715: Remove "nonbreaking spaces" from .rst files

For reference see sage-devel comment:

https://groups.google.com/forum/#!topic/sage-devel/W-fPceNbp0w

Certain .rst files (src/doc/fr/tour_coercion.rst in particular) contain
nonbreaking spaces that can cause docutils to fail when generating html
docs. Failures are known to be present with docutils-0.11. An octal dump
(od -c) of tour_coercion.rst reveals the spaces:
{{{
0013340   n   n   e   a   u   ,       e   l   l   e   s       n   e
0013360   s   o   n   t       p   a   s       d   e       t   y   p   e
0013400       `   `   R   i   n   g   E   l   e   m   e   n   t   `   `
0013420 302 240   :  \n  \n   :   :  \n  \n                   s   a   g
0013440   e   :       M       =       M   a   t   r   i   x   (   Z   Z
0013460   ,   2   ,   2   )   ;       M  \n                   [   0
0013500   0   ]  \n                   [   0       0   ]  \n
0013520       s   a   g   e   :       i   s   i   n   s   t   a   n   c
}}}

The 302 is octal for a "circumflex capital A" and the 240 is octal for a
"nonbreaking space" and it is these characters that cause docutils-0.11
to fail. With docutils-0.11 the failure presents as
{{{
$ rst2html.py src/doc/fr/tutorial/tour_coercion.rst > /dev/null
src/doc/fr/tutorial/tour_coercion.rst:149: (WARNING/2) Inline literal
start-string without end-string.
}}}
From a unicode compliant terminal line 149 starts as
{{{
Le type ``RingElement`` ne correspond pas parfaitement à la notion
mathématique d'élément d'anneau. Par exemple, bien que les matrices
carrées
appartiennent à un anneau, elles ne sont pas de type ``RingElement`` :
}}}
where the nonbreaking space appears between the {{{``}}} and {{{:}}}.

URL: http://trac.sagemath.org/16715
Reported by: strogdon
Ticket author(s): Frédéric Chapoton
Reviewer(s): Steven Trogdon