[test][centroid] Add test for big doubles.
[test][to_svg] Add geom_to_svg() helper function.
[test][centroid] Improve the test for Polygon using big coordinates.
[centroid] Reduce numerical errors by translating the Geometry closer to 0 and then the result back.

The first Point of the Geometry is used as the new origin.
During the centroid calculation each Point is translated by subtracting the origin.
At the end the resulting point is translated back by adding the origin.
[centroid] Disable error-reducing translation for other coordinate systems than cartesian.

Remove undefined namespace.
Add missing headers.
Add a note about other coordinate systems.
Add copyright info.
[centroid] Disable translation for non-areal Geometries.
[algorithms][distance] replace ignore_unused_variable_warning by ignore_unused
[algorithms][closest_feature] add algorithm for computing the closest
feature between a point and an open/closed range of segments (represented
as a range of points
[algorithms][closest_feature] add algorithm for computing the pair of
closest features between two ranges, using the R-Tree
[algorithms][closest_feature] add algorithm for computing the element
in a range that is closest to a given geometry
[algorithms][distance] add a utility class that defines an iterator type
based on the type of the geometry:
* returns a point iterator for multipoints
* returns a segment iterator for linestrings, rings, polygons,
  multilinestrings and multipolygons
the utility class also provides static begin and end methods for accessing
the first and beyond elements of the iterator type it defines
[algorithms][distance] add generic R-Tree based implementation for
the distance of two linear geometries: there are two versions implemented,
that differ on the type of objects stored in the R-Tree:
* the points of the geometry are stored in the R-Tree, in which case
  the two geometries are first checked for intersection, and then,
  using the R-Tree we compute the distances of the points of one geometry
  to the segments of the other, and vice versa
* the segments of one geometry are stored in the R-Tree and then the
  R-Tree is queried with the segments of the second geometry
The second approach is currently the default.
[algorithms][distance] modify the dispatch mechanism to cast the
geometry tag to segment, box, liear and areal
[strategies][distance] eliminate the distance_comparable_to_regular class
[algorithms][distance] add generic implementation for distance
computation between a linear and a linear/areal geometry
[algorithms][distance] add generic implementation for computing the
distance between a geometry (linestring, ring, polygon, multipoint,
multilinestring, multipolygon) and a segment or box
[algorithms][distance] add new implementation for computing the distance
between a multipoint and a geometry
[algorithms][distance] modify segment_to_segment distance computation
to compute first the point-segment pair that realizes the minimum comparable
distance, and then use this pair to compute the actual distance
[algorithms][distance] modify segment_to_box generic distance computation
to compute first the point-segment pair that realizes the minimum comparable
distance, and then use this pair to compute the actual distance; for the
cartesian-specific approach modify the code to work correctly and efficiently
for both comparable and non-comparable strategies, without calling
distance_comparable_to_regular;
[algorithms][distance] re-factor point-to-geometry distance computations;
include in point_to_geometry.hpp implementation of point-to-multigeometry
distance computations and dispatches; compute, whenever applicable, the closest
feature of the goemetry to the point, and then compute the distance as the
distance of this closest feature to the point; optimize the performance of
point-to-ring and point-to-polygon by not computing both containment and distance
to the boundary: compute the distance to the boundary only if the containment
test fails;