Fix Issue 3727 (ufuncify + erf)
Staging the infra of a basic PDE Solver
Minor Change
added ``minimal_polynomial_sq`` and ``nthroot``

``minimal_polynomial_sq`` returns the minimal polynomial for the
``nth-root`` of a sum of surds.

``nthroot`` computes a real ``nth-root`` of a sum of surds.
Added util.py- helper functions
Made all changes except ode_order
modified ``minimal_polynomial`` to call ``minimal_polynomial_sq``;
solved issue 2895
Improved documentation and cleaned up test failures
3226: give diff a simplify option
code cleanup
Add Sphinx doc building to Travis
Updated sphinx docs
make high-order derivatives simplified by default

Only factor_terms and signsimp are used in the simplification; other
simplification may be possible but that is left for the user
to decide if it's necessary.

* do not simplify in euler_maclaurin

For some reason the size of the derivatives grows if the
simplification is used. I don't know why.
Use an older version of Sphinx, which is known to work

This is to work around https://code.google.com/p/sympy/issues/detail?id=3623.
Echo each command from test_travis.sh
Implemented TODO's
faster minimal_polynomial for sum of surds
minimal_polynomial_sq renamed _minimal_polynomial_sq
[integrals/meijerint] Fix a bug in _split_mul.

This fixes issue 3761.

_split_mul tries to write an integrand as c*x**a*f, where a and c are
independent of x. However, it did not actually test that a is independent
of x ...

Fix this, and add the test from the issue.
[integrals/meijerint] replace e.has(x) by x in e.free_symbols
Merge pull request #1998 from smichr/3226

3226: give diff a simplify option