WL#5471: DDL locking: fair reschedule

Affects: Server-5.6   —   Status: Un-Assigned

Currently when rescheduling a queue of metadata locks priority is given to DDL
locks - MDL_SHARE_NO_WRITE, MDL_SHARED_NO_READ_WRITE, taken by DDL statements,
such as DROP TABLE or ALTER.
This design derives from MyISAM thr_lock locks, which were prioritized to ensure
highest throughput: severalf TL_READ locks could be scheduled at once, and to
not starve writers, they were given priority.
Since DDL is rare, we don't need to maximize DML throughput in presence of DDL,
and rather should value simplicity and fairness of the scheduler.

In the current implementation (MDL in 5.5.5) a steady stream of OPTIMZIE or LOCK
TABLE WRITE or ANALYZE could starve DML, such as INSERT or UPDATE.