add support for algebraic functions in minpoly
fix test failures
add tests for minpoly over fraction fields
Fix bug in _choose_factor
minpoly: check that the variable is not contained in the ground domain
minpoly: fix test failures
minpoly: add support for algebraic extensions of QQ
minpoly: update documentation

also rename _minpoly_op_algebraic_number to _minpoly_op_algebraic_element
and update error messages
minpoly: add more tests
minpoly: fix doctest error
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.
Drop unused skip_abs option for Expr.compute_leading_term and calculate_series

    This was introduced in 89c7626 and then this option was unused since 9c46974
Drop obsoleted docs about skip_log option of compute_leading_term()

    This was replaced by logx option in 9c46974d
Issue 4009: Fix predicate detection in simplify_logic.

Previously, simplify_logic would assume all free symbols were predicates, and
would construct a truth table based on results of substituting True/False for
each.  This would sometimes result in incorrect simplifications when Boolean
structures were made containing other expressions.  Now, it takes anything
that is not a BooleanFunction as a predicate, then simplifies the predicates
before reassembling.
Add optional simplify parameter to simplify_logic.

Specifies whether to apply recursive simplification to predicates contained
within the boolean function being simplified.
Use xreplace instead of subs in simplify_logic.

Subs had an issue where one predicate of a boolean function was contained
entirely within another predicate of a boolean function (eg. predicates x,
and x+1).  The smaller predicate would sometimes be substituted before the
larger, causing the larger to not be substituted, and potentially causing
the simplification to produce incorrect results.  This appeared to happen
on only some invocations of the interpreter: the added test would sometimes
pass and sometimes fail.

Xreplace instead searches for all predicates simultaneously, matching the
largest predicate that it can in any expression, thereby preventing this
issue.
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.