WL#5116: Changes to optimizer-controlling session variables

Affects: Server-6.0   —   Status: Complete

BACKGROUND
==========
Certain optimizer features are controlled by @@optimizer_switch, whereas some others
are controlled by dedicated session variables: @@optimizer_use_mrr,
@@engine_condition_pushdown.

GOAL
====
The task aims at removing the dedicated variables and adding corresponding
switches to @@optimizer_switch.

RATIONALE
=========
- We want to standardize on using @@optimizer_switch. It has more visibility
than other optimizer controlling variables,
for example it has its own manual section in
http://dev.mysql.com/doc/refman/5.4/en/query-speed.html:
http://dev.mysql.com/doc/refman/5.4/en/switchable-optimizations.html
- @@engine_condition_pushdown controls two features which is not practical
from a user's point of view, and testability point of view.