first parts of the factorization algorithm for polynomials over algebraic number fields
use _alpha_to_z inside _denominator
distribute integer content in _leading_coeffs
use dmp_zz_mignotte_bound for choosing the prime p
fix bug in _test_evaluation_points
make f_ primitive again if hensel lift fails
use correct domains for some variables
return primitive factors in _factor
fix a bug in _hensel_lift
fix typo in _leading_coeffs
include the defect of the algebraic field in some computations
fix computations of leading coefficients
cover cases where the leading coefficient is 'unlucky'

When two irrducible factors of `lc_{x_0}(f)` have the same norm, no good
evaluation points can be found. That case is now covered.
cover cases where the minimal polynomial is 'unlucky'

Some minimal polynomials are reducible modulo p for any prime p. In that
case, the factorization has to be computed with dmp_ext_ factor.
choose a new prime if Hensel lift failed
add tests for the factorization of polynomials over algebraic number fields
remove unnecessary imports
fix computations of leading coefficients
remove unnecessary if statement in _factor
implement p-adic lift

add support for modular arithmethics in matrix.rref and solve_lin_sys