Report test name in case of runtest failure; add missing print_function.

Make runtests.py report the name of a test if an exception is thrown
before it outputs the test name normally. This makes sure that the
name of a test is printed even in the face of runtest machinery failure.

Added a print_function import from __future__ to test_codegen, which
would make tests fail all over the place when --enhance-asserts was
active.
Add --split option to split the tests and doctests

The usage is

./bin/test --split 1/2

which will run the first half of the tests. Any a/b is supported.

Currently, this just splits the test files, because that was the easiest to
do, but we maybe should implement splitting the tests themselves.

Note that for the doctests, the regular doctests and the Sphinx doctests are
split independently. Furthermore, the Sphinx doctests split against every
Sphinx file, before it checks if it actually has doctests, so for some splits,
no Sphinx doctests will be run at all.
Implement test splitting in Travis

Now the regular tests are split into two test runs.
Print the split in the test header if there is one

This will help in debugging why this doesn't seem to work in Travis.
Sort paths in the tests

This should make --split act as you would expect it to, regardless of the
underlying filesystem.
Travis: Also split the gmpy tests
Sort the right thing when running the tests

This reverts commit 6495de3c4584754644a9b7f565ec2d7b893fbbf9, because it was
sorting the wrong list.
Update list of installed modules
New superclasses for Integral, Sum, Product

The new classes work for all associative ops between limits.
The classes enable factor, expand, subs fixes to Sum and Integral
Fix mathml tests in python 3.
Merge remote-tracking branch 'origin/master' into report-test-name-on-early-failure
Removed duplicate import.
Use Piecewise in manualintegrate (issue 3647)
manualintegrate checks assumptions on symbols
Don't cache integral results in case assumptions change
manualintegrate: check symbol assumptions in u-substitution as well
manualintegrate: add piecewise arctangent integrals
Merge remote-tracking branch 'origin/master' into report-test-name-on-early-failure
Fix tokenizer bug with error for multi-line input (GitHub #2515)
Add tests for TokenError in tokenizer