Changed unicode references from hex to names, see #6430

Replaced hexadecemal notation with named unicode references.
Names are fully interchangable with the hex codes being replaced.

Names obtained using unicodedata.name() function.
Example:

>>> import unicodedata
>>> print unicodedata.name(u'\u03c0')
GREEK SMALL LETTER PI
>>> u'\N{GREEK SMALL LETTER PI}'
u'\u03c0'
>>> u'\N{GREEK SMALL LETTER PI}' == u'\u03c0'
True
>>> u'\N{GREEK SMALL LETTER PI}' == u'\u03c1'
False
Changed unicode references from hex to names, see #6430

Replaced hexadecemal notation with named unicode references.
Names are fully interchangable with the hex codes being replaced.

Names obtained using unicodedata.name() function.
Example:

>>> import unicodedata
>>> print unicodedata.name(u'\u03c0')
GREEK SMALL LETTER PI
>>> u'\N{GREEK SMALL LETTER PI}'
u'\u03c0'
>>> u'\N{GREEK SMALL LETTER PI}' == u'\u03c0'
True
>>> u'\N{GREEK SMALL LETTER PI}' == u'\u03c1'
False
Corrected invalid unicode name

There is no greek letter 'I'
Fixes issue 8504
Use is_polynomial instead
factorial is positive also for n=0
edit polyroots error to make it like the other in file
Don't use reduce in checkodesol()

It isn't avaiable in Python 3
Use set().union instead of set.union

This makes it work with no arguments. Thanks to @kjordahl for pointing this
out.
Merge pull request #8529 from pelegm/factorial_is_positive

factorial is positive also for n=0
Add examples for summation with symbolic indices

fixes #8549
Use set().union instead of set.union

This makes it work with no arguments. Thanks to @kjordahl for pointing this
out.
cleanup other set.union cases
Merge pull request #67 from smichr/union

cleanup reduce/set.union usage
make sure GeometricEntity args are Basic
make optics/util more robust wrt arg types
modify and move _nsort
modify solve_poly_inequality

o assert that the input is Poly
o raise an error if a Relational involving a number doesn't evaluate
modify solve_rational_inequalities

o watch for empty _eqs
modify reduce_rational_inequalities

o use solve_univariate_inequality if domain is not ZZ or QQ
o don't split solution into real and imaginary parts, otherwise
  a result involving a complex number could return False rather than
  raising an error because the relation is not defined for complex
  numbers.