optimization of end points of Nielsen paths

We use abelianization and sage matrix to speed up computation of end
points of periodic Nielsen paths

periodic_nielsen_paths() now has an option to compute end_points used
by ideal_whitehead_graph() and is_iwip()