WL#7224: Spatial Relation Check Functions Depending on Boost Geometry Extensions

Status: Complete   —   Priority: Medium

Call Boost Geometry(BG) geometry relation check functionality directly or
indirectly to replace MySQL GIS old geometry relation check algorithms used for
type combinations which older versions of BG didn't support.

BG in Boost 1.56.0 start to have all type combinations we need for every
geometry relation check function we need.

Fixes BUG#68091 BUG#71076.
F-1: The syntax MUST NOT change.

F-2: All functions must return the correct result according to SFA-CA.

F-3: All functions SHOULD raise an exception condition if the input is
     invalid, even if the old implementation didn't.

F-4: All functions SHOULD NOT return NULL if the input is valid.
I-1: No new files, only using boost library and it should be ready now.
I-2: No new syntax
I-3: No new commands
I-4: No new tools.
I-5: No impact on existing functionality.
Before using BG in boost1.56.0, we had to fall back to old gis code if a type
combination isn't supported by boost geometry, and now we won't have to do this. 

However we may have to do
some extra computation for some type combination using boost geometry, for
example, to do within(multilinestring, polygon) relation check, we need to use
boost::geometry::within<linestring, polygon> and check every linestring of the
multilinestring. 

Boost geometry will implement a minimum set of basic relation checks, and
further type combinations will need to be implemented based on them.

Need to remove the use of all old gis relation check code completely, make sure
we won't rely on them. All geometry relation check functionality for any
geometry type will be done by calling BG code directly or indirectly.