[get_turns][relate] Handle Point-size Linestrings

Point-size Linestring is a linestring containing exactly 2 equal points.

Add generation of positions for degenerated turns, non-degenerated segments in get_turns_linear_linear.
The code should be polished after the addition of info about the degeneration of segments into Turns.
[relate] Fix L/L : handling of MLs containing overlapping, collinear Linestrings.

It's also consistent with the behavior for Point-like Linestrings.

E.g. some MultiLinestring may have boundary and interior in the same point:

Ls1:
  |--------------|
MLs2:
  |------------|
|------|

In this case the current version of the algorithm will set BB=0 and BI=0.
[relate][test] Add tests for consistency check (overlapping and Point-sized Lss)
[get_turns] Set position front/back for L in L/A for degenerated turn - for consistency with L/L
[get_turns][relate] Handle spikes for L/L !opposite collinear and equal turns.

2 Turns are generated for a spike, one with operation_blocked the second one with operation_intersection.
relate_linear_linear is not working yet, for now it is only ensured that boundaries will not be checked for those turns, which would result with assert failure.
TODO: opposite collinear and equal, touches c/c and endpoints intersecting a spike + the adaptation of relate(L,L).
[get_turns] Add the generation of spike IPs for L/L non-endpoint touching and collinear-opposite segments
[get_turns] Handle m spike for L/L, add more tests
[get_turns] Add handling of spikes for L/L for endpoints
[relate][get_turns] Add the support for spikes in relate(L/L). Fix errors in get_turns L/L.

Some asserts are invalid when 'x' operation can be somewhere in the middle (boundary_checker).
boundary_checker::is_boundary() function removed since it's not used anywhere.
Errors in get_turns are related to the handling of touches turn. t,i/i must be handled and is_collinear must be set in operations for spikes.
[geometry] Merge develop with feature/relate, resolve conflicts
[set ops][turns] compare turns using the fraction instead of the distance
[turns][debug] output the fraction value as part of the debug output
[set ops] degenerate turns have now method_none; update test for isolating points to check for this method
[recalculate] add missing include for boost typeof; needed because of BOOST_AUTO_TPL;
[relate] Partially fix Point-sized Linestrings support in relate(L/L).

The latest robustness upgrade introduced changes that broke the support:
1. degenerated turns are now method_none+c/c. This is fixed by this commit.
2. ratios aren't calculated for degenerated turns (proviously distances were calculated by AssignPolicy).
Merge pull request #16 from mkaravel/feature/setops

Feature/setops: fixes/changes due to recent changes in develop branch
Merge pull request #17 from mkaravel/develop

[recalculate] add missing include for boost typeof
Merge branch 'develop' into feature/relate
[strategies] remove register keyword
[get_turns] Add the support for spikes for Linear Geometry in get_turns_linear_areal