Initial modular patch, from Bjorn.


[SVN r85884]
Undo previous commit, it was meant for another branch

[SVN r85888]
[geometry] added missing template keyword, not catched by clang 3.0 but catched by 3.2

[SVN r85890]
[geometry] added #ifndef DOXYGEN_NO_DETAIL in touches.hpp

[SVN r85908]
[geometry] Correct pointlike_tag name in a comment

[SVN r86145]
[geometry][index]: BOOST_NO_* deprecated macros replaced.

[SVN r86175]
[geometry] Impose closed rings of any polygon output in WKT (ticket #9217)

[SVN r86233]
Updated the assign unit tests to show it can handle variants (+ refactored a bit)

[SVN r86234]
Bug fix - wrong template parameter in buffer algorithm

[SVN r86235]
[geometry] added robustness test for ticket 9081

[SVN r86237]
[geometry] changed overlay test w.r.t. pointcount, they might now deviate one or two

[SVN r86238]
[geometry] discard turn points without turn info

[SVN r86239]
Made the buffer algorithm variant aware.

[SVN r86240]
[geometry] Applied patch in ticket 9245 about error messages in make_qbk.py

[SVN r86295]
Made centroid variant-aware. This implied a refactoring - we're clearly heading towards a multi-stage algorithm call resolution as previously foreseen. Will align other variant-aware algorithms to this.

[SVN r86305]
Default strategy placeholder class forgotten in previous commit.

[SVN r86332]
[geometry] fixed errors in overlay/follow.hpp related to proper usage of Linestring concept.

[SVN r86333]
[geometry] replaced size() and removed clear() call in overlay/follow.hpp.

[SVN r86334]
Test for centroid's variant-awareness

[SVN r86337]
Removed check_input stage - merged into resolve_variant.

[SVN r86338]