[IOPRIO] Introduce active beancounter switch
This is very important patch, that implements actual scheduling of UBs.
UB holds a list of active UBs (UBs that have I/O requests at the moment)
in the last serviced order. It allows us to get next UB for service for
O(1) time. The duration of time slice depends on UB priority by the
ub_slice = base_slice + (base_slice * (ioprio - UB_IOPRIO_MIN)) /
(UB_IOPRIO_MAX - UB_IOPRIO_MIN)
base_slice is HZ/2 by default, in this case, the time slice duration
vary from HZ/2 to HZ. After applying this patch it is possible to
compile kernel and observe its effects: no I/O DOS attack to the node
can be performed from one particular VE.