parser cleanup: don't store field properties in LEX, use Create_field directly

length/dec/charset are still in LEX, because they're also used
for CAST and dynamic columns.

also
1. fix "MDEV-7041 COLLATION(CAST('a' AS CHAR BINARY)) returns a wrong result"
2. allow BINARY modifier in stored function RETURN clause
3. allow "COLLATION without CHARSET" in SP/SF (parameters, RETURN, DECLARE)
4. print correct variable name in error messages for stored routine parameters
cleanup: sort and reorder %union elements in sql_yacc.yy
cleanup: comments referring to non-extistent Item classes
cleanup: freshen up CREATE SERVER code

* pass LEX_STRING's from the parser, don't ignore the length only to strlen later
* init LEX::server_options only for SERVER commands, not for every statement
* don't put temporary values into a global persistent memroot

but really it's just scratching a surface
MDEV-6311 Add errors on CREATE SERVER

fail CREATE SERVER foreign data wrapper is "mysql"
and neither HOST nor SOCKET are specified.

Also default PORT to 3306 (again, only for foreign
data wrapper "mysql")
cleanup: ptr_cmp

1. don't cast size_t* to int*
2. remove long obsolete register specifier
cleanup: reuse MY_CHECK_AND_SET_COMPILER_FLAG in sphinx/CMakeLists.txt
cleanup: s/const CHARSET_INFO/CHARSET_INFO/

as CHARSET_INFO is already const, using const on it
is redundant and results in compiler warnings (on Windows)
oqgraph cleanup: remove casts
MDEV-5871 support assisted discovery in oqgraph v3
MDEV-6894 Enable SEQUENCE engine by default
MDEV-6980 OUT parameters in PREPARE

revert the patch for "out parameters in prepare"
MDEV-6895 switch to dynamic libjemalloc.so