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.
Updating classes to use __new__ instead of init
Enable if x.is_positive is branch in series()
Workaround in Function._eval_nseries to prevent some substitutions in the Derivative

    For example: Subs(Derivative(f(x), x), x, 0).subs(x, y) ->
                 Subs(Derivative(f(x), x), (x,), (y,))

    This is a fix for failed test:
    File "/home/sk/src/sympy/sympy/series/tests/test_series.py", line 86, in test_879
      assert f(x).series(x, 0, 3) == \
Less naive lseries/nseries methods for Integral

    Detect cases, when we should expand on the integration
    variable (dummy symbol).
Correct assumptions for auxilary symbol xpos: it should be is_bounded as well
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.