[test][iterators][segment_iterator] re-arrange the test code;
add test with std::copy algorithm: use the segment iterator
to copy the segments of a geometry into a vector;
[geometries][pointing_segment] introduce a new segment class called
pointing segment; this segment is default constructible, copy constructible
and assignable; it stores pointers to points instead of the points themselves
(for efficiency); this segment class is meant to be the value type of the
segment iterator;
[iterators][segment_iterator] change the value type of the segment iterator
from referring_segment to pointing_segment