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.

It will be easy to use this to split our Travis test runs in half to get rid
of the timeouts.