WL#8034: More user friendly GIS functions

Status: Complete

We need some more GIS functions which are not defined by OGC, to make MySQL GIS
more user friendly by helping out potential MySQL GIS users with the most
frequent/common problem or issues they can have when using MySQL GIS. Currently
in the list are:

ST_Distance_Sphere(geom1, geom2, earth-radius) — Returns the minimum distance on
the earth in meters between two lon/lat
geometries. Uses a spherical earth and a configurable radius, which is 6370986
meters by default. For now we only support point/multipoint arguments.

ST_MakeEnvelope(bottom-left-point, top-right-point) --- Makes a rectangle using
bottom left and top right points. This is done on an abstract plane rather than
on a sphere, spheroid or on earth.

ST_IsValid: check whether a geometry is valid, the validity is defined by OGC
standard documents.

ST_Validate: check whether a geometry byte string is valid (validity defined as
above), if so return it, otherwise return NULL. this can be used to filter out
invalid geometry data at an noticeable cost. we don't do so by default in
geometry calculations because of the cost, but some users may be willing to take
the cost to get more precise results and completely eliminate invalid geometry
data from the result.