MDEV-4262 - P_S discovery

Discover P_S tables automatically.

Most of this patch is code clean-up:
- removed tests and code responsible for P_S tables correctness verification
- always return error from ha_perfschema::create()
- install/upgrade scripts won't create P_S tables anymore
git: ignore errmsg.sys and typescript, better diff header for C/C++ files
cleanup: case SQLCOM_CALL

move SP invocation code out of the huge switch in mysql_execute_command
cleanup: use null_lex_str where appropriate
cleanup: public Item_param::get_settable_routine_parameter()

make Item_param::get_settable_routine_parameter() public, because it's
public in the parent Item class and all other Item descendants too
cleanup: rename List<> methods

prepand() -> prepend()
concat() -> append()
cleanup: inherit from Sql_alloc

instead of copy-pasting its methods into a new class
cleanup: class my_var

* split my_var class in three - base my_var and two descencants, move
  properties into descendants, remove if(), create a virtual method instead
* factor out the common code in the select_var_ident parser rule
cleanup: param_marker rule in the parser

preserve the Item_param type of the param_marker in the parser,
don't upcast cast it to Item
cleanup sql_yacc.yy: s/YYABORT/MYSQL_YYABORT/
cleanup sql_yacc: introduce opt_not rule, combine otherwise duplicate rules
cleanup sql_yacc.yy: remove duplicate code in opt_union rule
cleanup sql_yacc.yy: rename rules for loops with and without label to follow BEGIN...END rule naming
cleanup sql_yacc.yy: factor out duplicate code in PROCEDURE/FUNCTION/TRIGGER/EVENT grammar
cleanup sql_yacc.yy: reduce code duplication in rules for BEGIN...END with and without label
cleanup sql_yacc.yy: s/IF/IF_SYM/
cleanup sql_yacc.yy: rules for the CASE ... END CASE statement
cleanup sql_yacc.yy: remove redundant ev_sql_stmt_inner rule
cleanup: get rid of (Item_splocal*)item downcast
MDEV-5317 out parameters in PREPARE "SELECT ... INTO"

originally based on the patch by Antony T Curtis