[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
[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 branch 'develop' into feature/relate
[strategies] remove register keyword
[get_turns] Add the support for spikes for Linear Geometry in get_turns_linear_areal
[intersect] Removed debug statements and adapted comments
[intersect] Removed unused calculation
[intersect] Make calculations similar form, added const
[overlay] removed unused distance_type
[relate][get_turns] Support spikes for Linear in relate(L/A). Fix errors in get_turns for L/L and L/A.

relate_linear_areal:
handle non-endpoint x-c turns pair generated for a collinear spike.

relate/follow helpers:
fix turn_on_the_same_ip to use fraction instead of dimension.

get_turns:
L/L and L/A - use base_turn_handler::assign_point() to set fractions properly for collinear-opposite spikes.
L/A - fix the condition in calculate_spike_operation() used to check if a spike goes into the interior or exterior.
Merge branch 'develop' into feature/relate