Faster ``minpoly`` using composed sum.

Added power series functions on "ring.PolyElement" objects.
Update mpmath to 0.18-a1

The paths haven't been adapted yet.
Fix mpmath imports
small changes in the documentation; used ``as_int``
add Set.boundary property
naive solution for Union._boundary
add ProductSet._boundary
Boundary of empty set is empty set
Boundary of UniversalSet is EmptySet
Boundary of naturals/integers is self
ImageSet maps lambda onto boundary
boundary of Range is self
ProductSet(single_set) == single_set
ProductSet._union joins equal args if at top or bottom

     ProductSet(a, b, c) + ProductSet(a, d, e)
->   ProductSet(a, ProductSet(b, c) + ProductSet(d, e))
un-XFAIL boundary-line test
add Set.is_closed property
bigger docstring for Set.boundary
add interior and closure to Sets
add Set.is_open
Union._boundary removes sets found in interior