use _aresame in xreplace test of equality

It is possible that A === B even though A and B are not structurally the
same, so the more strict _aresame() is used to test for exact equality.
remove more references to Float(nan)
Fix installation instructions for setupegg.py
Merge pull request #1681 from flacjacket/setup-docs

Fix installation instructions for setupegg.py
add 'zh' to LANGUAGES
solve implicitly for anything except numbers

There is no reason to disallow solution of an equation for
a given object, so it is possible to isolate objects which are
not symbols as long as they are not numbers -- numbers should only
be themselves, so there should be nothing to solve for. Functions
like cos(1) are numbers and so are undefined functions like f(1)
but the latter are allowed since they don't evaluate to a number.
Fixes plotting errors due to complex values in a new sampled point

When recursively sampling, if the new point sampled is a complex
value, with the two end points being real, then it recursively
samples the endpoint and the new point.
Consider relative error while classifying a number as complex

The sampling code in experimental lambdify now checks whether the
abs(num.imag) > 1e-7 * abs(num) to classify the number as a complex
number.
removed the test added during the fix
supply non-numeric objects as symbols if necessary
add note about implicit solving

Although solving for numbers 1, cos(1 + sqrt(2)) could be added,
this has not been added at this time. To do this, the user will
have to handle the substitution on their own.

Part of the reason this was avoided was because if expressions
are given that are themselves numbers, then trying to rearrange
for a number in that expression can only be done if the expression
itself is 0 -- if it's not then any inferences made from it are
invalid.  One has to watch for -1 that is hiding in all subtractions, too.

e.g. if eqs = Tuple(4 - sqrt(2), sqrt(2)/3 + 1)
>>> eqs = Tuple(4 - sqrt(2), sqrt(2)/3 + 1)
>>> eqs.subs([(1,a),(4,b)])
(-sqrt(2)*a + b, a + sqrt(2)/3)
>>> solve(_)
{b: -2/3, a: -sqrt(2)/3}

but compare to the solution after masing off the -1

>>> solve(eqs.subs(-1, Symbol('-1')).subs([(1,a),(4,b)]), a, b)
{b: -sqrt(2)*-1, a: sqrt(2)/(3*-1)}
>>> Dict(_).subs(Symbol('-1'), -1)
{a: -sqrt(2)/3, b: sqrt(2)}
use / instead of // for integers
look at exponent rather than computing int
add: Chinese tutorial translation
Float accepts mpf and watches for exponential notation when prec=''

The significant figures should not include zeros that were signified
with the exponent as in '12e3' -- this gives 1.2e4 rather than 12000.

Also, don't count the negative when counting significant figures.
3540: don't base nonzero on man of mpf tuple

It is necessary but not sufficient to guarantee that the tuple represents
0 -- finf, for example, also has a mantissa of 0.
remove more references to fnan; use is_zero and is_positive

In the context of Number, where the sign is easily determined,
the use of is_zero is much faster than using an equality test
or converting to a boolean:

>>> timeit('bool(z)','from sympy import Float\nz=Float(0)')
1.1109158992767334
>>> timeit('z==0','from sympy import Float\nz=Float(0)')
10.78619384765625
>>> timeit('z.is_zero','from sympy import Float\nz=Float(0)')
0.10547804832458496

>>> timeit('bool(z)','from sympy import Rational\nz=Rational(1,3)')
0.3191959857940674
>>> timeit('z==0','from sympy import Rational\nz=Rational(1,3)')
5.848392963409424
>>> timeit('z.is_zero','from sympy import Rational\nz=Rational(1,3)')
0.10593008995056152
2950: Rational processes Float and float

o The unprejudiced underlying fraction of the float is used to
create the Rational. Since as_integer_ratio() is not available in 2.5
(and Decimal in 2.5 will not take a float) mpf is used to parse the
float to get the mantissa and exponent.

o strings matching a literal 'float/float' are now processed and
processing is not passed to sympify (which makes Rational more literal).

        It makes sense to handle strings representing Rationals since
        it is about 100x faster than passing off the expression to
        sympify. No deeper processing is done, however.
Merge pull request #1679 from smichr/3533

3533
add coverage tests for oo and others; us is_nonnegative