faster ``gf_edf_zassenhaus`` using the Frobenius map
renamed ``gf_monomials_mod`` and ``_gf_pow_p_mod``;
fixed a bug; added doctests and a test.
optimized ``gf_frobenius_monomial_base``; added ``_gf_trace_map``
fixed bug in ``gf_frobenius_monomial_base``; ``faster gf_irred_p_rabin``
Added keyword parameter ``expect`` to ``gf_irreducible_p``
and ``gf_irred_p_rabin``

If it is expected that the polynomial is irreducible, the ``expect=True``
option is faster, e.g.

In [1]: from sympy.polys.galoistools import gf_irreducible_p

In [2]: f = ZZ.map([1, 0, 2, 1, 0, 2, 1, 0, 2, 0, 2, 1, 0, 1, 1, 1, 2, 1, 1,
   ...: 1, 1, 0, 2, 1, 0, 2, 2, 2, 1, 2, 0, 2, 1, 1, 2, 1, 1, 0, 2, 2, 0, 2,
   ...: 1, 0, 2, 2, 0, 2, 2, 1, 1])

In [3]: timeit gf_irreducible_p(f, 3, ZZ, True)
10 loops, best of 3: 29.2 ms per loop

In [4]: timeit gf_irreducible_p(f, 3, ZZ)
1 loops, best of 3: 255 ms per loop
fixed a bug in ``gf_frobenius_map``; faster ``gf_ddf_shoup``
faster ``gf_irred_p_ben_or`` and ``gf_irred_p_rabin``
fixed bug in ``gf_frobenius_monomial_base``; faster ``gf_ddf_zassenhaus``;
eliminated ``expect`` keyword parameter; eliminated some special cases
small change in comments
Merge pull request #2234 from pernici/gf1

faster ``gf_edf_zassenhaus`` using the Frobenius map