MDEV-6480: Remove conditions for which range optimizer returned SEL_ARG::IMPOSSIBLE

Let range optimizer remove parts of OR-clauses for which range analysis
produced SEL_TREE(IMPOSSIBLE).
There is no need to remove parts of AND-clauses: either they are inside
of OR (and the whole AND-clause will be removed), or the AND-clause is
at the top level, in which case the whole WHERE (or ON) is always FALSE
and this is a degenerate case which receives special treatment.

The removal process takes care not to produce 1-way ORs (in that case
we substitute the OR for its remaining member).
MDEV-6384: It seems like OPTIMIZER take into account the order of indexes in the table

When ORDER BY ... LIMIT check whether it should switch from index IDX1
to index IDX2, it should not ignore the fact that IDX2 may have a
potential range or ref(const) access.
Istead, it should calculate their costs: there is now a saved range
optimizer cost and code to re-calculate what best_access_path()
calculated for ref(const).

/* in current cost model these two can be very different
numbers unfortunately */
Forgot one file in previous commit
MDEV-6689: valgrind errors in view.test in 10.1

SHOW COLUMNS and SHOW KEYS commands fill IS_table_read_plan
in a special way - they don't set or use lookup_field_vals
member.

Added a "trivial_show_command" flag that signals that
lookup_field_vals has no valid data, made EXPLAIN code honor it.
MDEV-6701: InnoDB tests fail in 10.1

Fixed test failures seen on defragment tests, innodb.innodb-wl5522-debug-zip
and innodb.innodb_bug12902967.
Merge branch '10.1' of github.com:MariaDB/server into 10.1
Fix another set of test failures caused by galera merge.
Merged sys_vars.wsrep_* tests from maria-10.0-galera tree.
Merge ../10.1-orderby-fixes into 10.1
MDEV-465: Optimizer : wrong index choice: Add a testcase.
Fix test failure on rpl_statements test by not listing wsrep variable.
Adjusted defrag test that fails randomly (timing problem) and fix
result of innodb_sys_index test.
Fix merge error on binlog_remove_pending_rows causing failure
on binlog_innodb_row test.
Remove unnecessary debug output causing unnecessary warnings.
Remove incorrect test file.
Better comments
Fixed failing test temp_table_frm

The problem was that the internal temporary table created
for information_schema overflow to MyISAM because it has
a row width of > 3000 characters, which filled the in memory
temporary tables.
Fix was to increase size for the heap table.
Better comments
Merge branch '10.1' of github.com:MariaDB/server into 10.1
MDEV-6788: The variable 'role' is being used without being initialized at sql_acl.cc:8840

[Re-commit in git]
Don't check the value of 'role' variable in the cases where we don't need
it. (it may be marked as uninitialized and we get a runtime error).