[dm-cache, mq policy] Be much more aggressive about promoting writes to discarded blocks.

Previously these only got priority if there were unused cache blocks.
Now we give them priority if there are any clean blocks in the cache.

The fio_soak_test now gives uniform performance across subvolumes (~16
seconds).

The new queue_empty() method is wasteful of cpu, need to improve
before pushing upstream.