[get_turns] Refactor get_turns for L/L and L/A.

This change prevents duplication and decreases the number of parameters that must be passed to various functions and makes the code more readable.

Enclose parts of the code used in both implementations in one class - intersection_info. Move there IntersectionsResult, sides_calculator, spikes checks. Use this class in get_turn_info_linear_*. Provide convenient i_info() and d_info() to allow replacing result.template get<0>() and result.template get<1>() calls.
Merge branch 'develop' of github.com:boostorg/geometry into develop