WL#529: Add CAST to FLOAT/DOUBLE/REAL

Affects: Server-8.0   —   Status: Complete

MySQL will add another CAST function to support cast operations to FLOATING
point data types according to the SQL Standard.

Rationale:
Our current CAST capabilities do not permit users to cast values to floating
point data types as required by standard SQL and supported by other DBMSs. Since
implicit CASTs support a greater variety of cast possibilities, the explicit
CAST support should be augmented to match it. 

For example: 
SELECT CAST(1/3 AS DOUBLE); # not allowed at this moment

Will return:

mysql> SELECT CAST(1/3 AS DOUBLE);
Field   1:  `CAST(1/3 AS DOUBLE)`
Catalog:    `def`
Database:   ``
Table:      ``
Org_table:  ``
Type:       DOUBLE
Collation:  binary (63)
Length:     22
Max_length: 11
Decimals:   31
Flags:      BINARY NUM 


+---------------------+
| CAST(1/3 AS DOUBLE) |
+---------------------+
|         0.333333333 |
+---------------------+
1 row in set (0,00 sec)