block, bfq: attempt to fix use-after-free which affects SLUB behavior (3.3.0 to 3.8.0)

It may happen that a call to bfq_del_bfqq_busy() puts the last
reference taken on a queue and frees it. Subsequent accesses to that
same queue would result in a use-after-free. Make sure that a queue
that has just been deleted from busy is no more touched.
Merge branch '3.4/bfq' into 3.4/master