block: Adding ROW scheduling algorithm

This patch adds the implementation of a new scheduling algorithm - ROW.
The policy of this algorithm is to prioritize READ requests over WRITE
as much as possible without starving the WRITE requests.
The requests are kept in queues according to their priority. The dispatch
is done in a Round Robin manner with a different slice for each queue.
READ request queues get bigger dispatch quantum than the write requests.

Signed-off-by: Tatyana Brokhman <tlinder@xxxxxxxxxxxxxx>
row-iosched: Backport to 3.0
HACK: block fbearlysuspend to not break androids crt-off animation

adjusted to 100ms, andip71
Added MDNIE sharpness toggle (gokhanmoral)
Added CPU undervolting support, 5-step (andip71/Simone201)
Added GPU tweaking (netarchy et. al.)
Modify GPU tweaking for 2-step compatibility
On GPU settings changes, drop to Step0
pm-hotplug: add tegrak's secondcore support + pm-hotplug enable/disable depending on the selected cpu governor
Scheduler: Added SIO scheduler (tweaked)

credits to Gokhanmoral and Andreilux
deadline tweaks