[test][point_iterator] fix/update includes
[iterators][point_iterator] add missing include for interior_type
[iterators][flatten_iterator] add one more template parameter for the
reference type (previously it was defaulted to Value&)
[iterators][concatenate_iterator] add one more template parameter for
the reference type (previously it was defaulted to Value&)
[iterators][segment_iterator] add basic dispatch definitions for the
segment_iterator and segment_iterator_type classes
[iterators][segment_iterator] add implementation for an iterator over
the segments of a range
[iterators][segment_iterator] add implementation for the underlying
segment_iterator type
[iterators][segment_iterator] add implementation for the segment_iterator
class, as well as for the free functions segments_begin and segments_end
[test][iterators][segment_iterator] add unit test for the segment_iterator
[test][iterators] add the unit test for segment_iterator in the Jamfile;
re-arrange the unit tests in the iterators' Jamfile in alphabetical ordering;
[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
[geometries][pointing_segment] initialize member variables in
default constructor with NULL; in get/set access methods check
that the pointers of the segment are not NULL (via assertion);
remove copy constructor and assignment operator: they are the
same as those the compiler would produce automatically;
[iterators][segment_iterator] correct comments
[iterators][segment_iterator] correct comments; fix code length to be
at most 80 characters;
[iterators][segment_iterator] move range_segment_iterator class to
detail::segment_iterator namespace; move bg::segment_iterator_value_type
to bg::detail::segment_iterator::value_type;
[iterators][segment_iterator] fix file-inclusion guarding macro to
reflect true file path
[iterators][segment_iterator] move implementation of bg::segment_iterator_type
to bg::detail::segment_iterator namespace; rename the class segment_iterator_type
to iterator_type;
[iterators][segment_iterator] update implementation of segment_iterator
due to the change of namespace and name of the segment_iterator_type class;
make constructors of bg::segment_iterator class inline; change the return type
of segments_begin and segments_end to be segment_iterator<Geometry const>;