Pyflakes cleanups to matrices
Add table method to Matrix, and modify the string printer

I took this from Chris Smith's work from pull request #1167. I haven't fixed
any of the resulting test failures yet.
Update lambda printer for Matrix
Update doctests with new Matrix printing

I skipped the agca doctests, because the string printer needs to be updated
(it looks silly now), and the mechanics Sphinx doctests, because I think they
really want to be using pretty printing (to get g' instead of Derivative(g(t),
t)).

I haven't yet touched the regular tests.
Matrix._format_str should be passed a printer, not a function
Update mechanics doctests with updated Matrix printer
Update Matrix printing tests
Update AGCA tests/doctests with new Matrix string printer

This looks a little weird.  We may want to change it.
Add a docstring for Matrix.table
Print single row matrices in one line

**Before**

>>> Matrix([[1, 2, 3]])
Matrix([
[1, 2, 3]])

**After**

>>> Matrix([[1, 2, 3]])
Matrix([[1, 2, 3]])
Use str.ljust, etc. instead of string.ljust

The latter no longer exists in Python 3.
enable limits for certain sums of rational functions
latex(): Separate numbers with \cdot by default.

Fixes issue 3740: Don't use \times in latex
http://code.google.com/p/sympy/issues/detail?id=3740
latex(): Print True/False as latex mathrm.

Also prevent IPython from printing True/False as latex at all.

Fixes issue 3757: True and False in latex
http://code.google.com/p/sympy/issues/detail?id=3757
latex(): Add empty {} argument to array printing.

Fixes issue 3861: latex(Matrix, mat_str='array') misses first element
http://code.google.com/p/sympy/issues/detail?id=3861
resolve problem of simplify_logic with Implies
Added tests
Changed Implies and Equivalent to support numbers
Rectified errors in tests
Implementation of the second heuristic

The second heuristic is a method to find the infinitesimals xi and eta of
the PDE mentioned in the documentation under infinitesimals

There are four assumptions to xi and eta

1. eta = 0, xi = f(x)*g(y)
2. eta = 0, xi = g(x)*f(y)
3. xi = 0, eta = f(y)*g(x)
4. xi = 0, eta = f(x)*g(y)

g is a function got by extracting factors from the numerator and denominator
f is the function got by solving the auxilliary ODE obtained after
substituting g in the PDE. For now, it is assumed f can be obtained if
the auxilliary ode obtained is separable in f