convert factorials to gamma-function format
adding factorial test case
be more explicit with the rewrite operation
stripping trailing whitespace
adding negative number test case
only rewrite for positive z0
codeprinters: fix Rational's printing for code (as fractions of doubles)

S(4)/3 * x -> (4.0/3.0)*x for ccode, not 4*x/3
ccode: print Rational numbers with long double
printing.rst: fix doctest failures for fcode
use is_positive in favor of __ge__

relevant issue: http://code.google.com/p/sympy/issues/detail?id=2832
adding symbolic z0 test case for factorials
Merge branch 'master' into rationals-printing-in-code
Merge branch 'master' into rationals-printing-in-code
added a recursive doit() call in Sum

This enables the evaluation of nested sums.
doc string revesion for Sum
Piecewise._evals_subs doesn't evals every pieces.

Expressions are evaluated only if their condition is not False
and evaluation stops when it evaluates a condition to True,

Adds two tests:
    p3 = Piecewise((1, Eq(x, 0)), (1/x, True))
    p4 = Piecewise((1, Eq(x, 0)), (2, 1/x>2))
    assert p3.subs(x, 0.0) == 1
    assert p4.subs(x, 0.0) == 1
docstring improved for Sum
Merge branch 'master' into rationals-printing-in-code
Remove Singleton metaclass from NumberSymbol

Subclasses of NumberSymbol should manually set Singleton as their metaclass if
they want to be singletonized.

See issue 3643.
Explicitly make HBar a singleton