Skip the slowest of the slow tests on travis

The following tests never actually run to completion on Travis due to the specified timeout of 180s.  Rather than waste 3 minutes on these tests (most of which are xfailed anyway) which are not run to completion, this PR ~~skips them~~  checks to see if we are running on travis via the TRAVIS_BUILD_NUMBER environment variable and if so, skips them. 

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
(The times are from py.test --durations)

Because of this we can restore the split to halves instead of thirds and use fastcache to further speed things along.  Furthermore, we will no longer be relying on the timeout signal to kill these tests which should reduce the frequency of timeouts in the slow tests.

There is some discussion of this issue on the mailing list: https://groups.google.com/forum/#!topic/sympy/xDM4NHWP9cA