MDEV-6657: Poor plan choice for ORDER BY key DESC optimization...

The problem was caused by the following scenario:
- range optimizer picks an index IDX1 which doesn't match the ORDER BY ...
  LIMIT clause.
- test_if_skip_sort_order() decides to switch to index IDX2 which matches
  the ORDER BY ... LIMIT.
- it runs SQL_SELECT::test_quick_select() for the second time to produce
  an quick select for IDX2.
- However, test_quick_select() would figure that full index scan on IDX1
  is still cheaper (its calculations ignore the LIMIT n).

Fixed this by
- passing force_quick_range=true to test_quick_select()
- in test_quick_select, don't consider full index scans if the mentioned
  parameter is true.

Numerous changes in .result files are caused by test_quick_select() being
run after "early/late NULLs filtering" feature has injected NOT NULL
condition.
Merge 10.1 into bb-10.1-mdev6657
MDEV-6402: Optimizer doesn't choose best execution plan when composite...

Fix test_if_skip_sort_order() logic:
WHEN
we use index X, which doesn't produce needed ordering, but there is
an index Y which does and has the same prefix as used prefix of X
THEN
don't just switch to using ref access on Y. If range(Y) would use more
key parts, use range(Y).
Better comments
Merge ../10.1-mdev6402 into bb-10.1-orderby-fixes
Merge ../10.1-mdev6657 into bb-10.1-orderby-fixes
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).
MDEV-6788: The variable 'role' is being used without being initialized at sql_acl.cc:8840

[re-commit in git]
Second variant of the fix: reduce the scope of 'role' variable
MDEV-6790: 10.1: debian build failure
Updated 33_scripts__mysql_create_system_tables__no_test.dpatch
to reflect user.default_role.
Fix for syntax error in debian control file.
Better comments about KEY::ext_key_part_map
Merge branch '10.1' of github.com:MariaDB/server into 10.1
wsrep-related changes: removed some unnecessary files & minor modifications.
Fix test failures seen on
-- innodb-wl5522-debug-zip (path differences win/unix)
-- innodb_defragment_fill_factor (stabilise)
-- innodb_force_pk (case difference win/unix)
MDEV-6796: Unable to skip filesort when using implicit extended key

Re-work test_if_order_by_key() to work correctly for extended indexes.
MDEV-6812: Merge Kakao: Add global status variables which tell
you the progress of inplace alter table and row log buffer usage

-    (x 100%, it's 4-digit. 10000 means 100.00%)
-    Innodb_onlineddl_rowlog_rows
       Shows how many rows are stored in row log buffer.
-    Innodb_onlineddl_rowlog_pct_used
       Shows row log buffer usage in percent ( *100%, it's 4-digit. 10000 means 100.00% ).
-    Innodb_onlineddl_pct_progress
       Shows the progress of inplace alter table. It might
       be not so accurate because inplace alter is highly
       depend on disk and buffer pool status.
       But still it is useful and better than nothing.

-    Add some log for inplace alter table
       XtraDB/InnoDB will print some message before and
       after doing some task.
MDEV-6814: Server crashes in calculate_key_len on query with ORDER BY
- if test_if_skip_sort_order() decides to switch to using an index, or
  switch from using ref to using quick select, it should set all
  members accordingly.