WL#4536: QFPD: Query decomposition and optimization for query fragments

Affects: Server-7.x   —   Status: Un-Assigned   —   Priority: Medium

================================================================================
WORK IN PROGRESS
================================================================================

The goal of this task is to deal with:
* decomposition of a query into query fragments,
* negotiation with storage engine(s) what fragments can be pushed,
* cost-based optimization of the initial query that takes into account
  the pushdownability of the query fragments and their cost,
* rewriting the original query into a reduced query in terms of the
  pushdown fragments.

Due to the size of the problem, most likely this task will be split further
into subtasks.