Removed the slow tests which are never actually run to completion on
travis due to timeout errors.  Those tests and there run times are:

6745.05s call     sympy/physics/mechanics/tests/test_kane3.py::test_bicycle
2083.29s call     sympy/solvers/tests/test_ode.py::test_1st_exact2
1522.66s call     sympy/integrals/tests/test_failing_integrals.py::test_issue_4540
1221.33s call     sympy/core/tests/test_wester.py::test_W25
1090.84s call     sympy/integrals/tests/test_failing_integrals.py::test_issue_4941
963.31s call     sympy/solvers/tests/test_solvers.py::test_issue_6528
437.72s call     sympy/integrals/tests/test_heurisch.py::test_pmint_WrightOmega
411.27s call     sympy/core/tests/test_wester.py::test_W24
MatExpr: Fix entry when power is zero and other cases

 *  `MatPow(A, 0)[0, 0]` would give an error because an empty list was
    passed to MatMult.  Fixed, added tests.
 *  Entries of `MatPow` of ImmutableMatrix added as a special case.
    This fixes `.as_explicit` for MatPow of ImmutableMatrices, added
    tests for this.
 *  Previously, `MatPow._entry` would return None if couldn't do it,
    instead raise errors.
 *  Negative powers probably do-able in some cases, left comments
    for future improvement.
Implementing the Rademacher distribution
Only skip extremely slow tests if we are running on travis.

- The enviroment variable TRAVIS_BUILD_NUMBER is checked to determine if
we are running on travis.
- specifying timeout=180 is no long necessary in bin/test_travis.sh
test_type_G.py uses utf-8 characters and should therefore specify the
proper encoding
added various from __future__ statements to placate pytest
Add --split option to pytest
Antidivisors

Implemented functions to compute antidivisors and the number of
antidivisors.  Antidivisors are the numbers that do not divide a number
by the largest possible margin [1]_.

References
==========

.. [1] http://oeis.org/A066272/a066272a.html
Implement divisor_sigma function

Divisor function [1]_ sigma_k(n) for positive integer n:

divisor_sigma(n,0) is equal to divisor_count(n)
divisor_sigma(n,1) is equal to sum(divisors(n))
divisor_sigma(n,k) is equal to sum([x**k for x in divisors(n)])

Default for k is 1.

References
==========

.. [1] http://en.wikipedia.org/wiki/Divisor_function
Merge pull request #8174 from pbrady/fix_test_type_G_encoding

fix encoding error in test_type_G.py
Merge pull request #8180 from pbrady/fix_test_type_F

Added various from __future__ statements to placate pytest
integration inifite limits fix
Merge pull request #8185 from skirpichev/sigma-rebase

Implement divisor_sigma function
Merge pull request #8184 from skirpichev/antidivisors-rebase

Antidivisors (rebase of #7863)
Increase default cache size from 500 to 1000
Merge pull request #8182 from leonidbl91/integrate_infinite_fix

integration inifite limits fix
Move limit() body to Limit.doit() method

Now limit(*args) is a synonim for
Limit(*args).doit(deep=False), like summation() vs Sum.
For limits at oo/-oo the dir argument doesn't matter:

in this case it's determined from the direction of the infinity.
pretty/latex printing support for directional limits

fixes #8175
Merge pull request #8198 from pbrady/large_cache

Increase default cache size from 500 to 1000