CLOUDSTACK-6935 refactor StoragePoolAllocator#filter logic

to support IOPS capacity control in a cluster wide storage pool and a
local storage pool
to enable hypervisor type check, storage type check for root volume and
avoid list check

Since original commit(31de58edab563eb1cb50c5c06437fdd3efc6a3d2) contained
a bug, it was reverted and this commit is a revised one.

(cherry picked from commit 45f0c7367680f4bfbcee470139b708d69322be78)