List view: Pass ID to action pre-filters
Revert "CLOUDSTACK-6935 refactor StoragePoolAllocator#filter logic"

This reverts commit 31de58edab563eb1cb50c5c06437fdd3efc6a3d2.
CLOUDSTACK-6936: UI - (1)dialog widget > dropdown field > provide a blank option if there is no data for option(s) in a dropdown field. (2) Add Primary Storage dialog - cluster dropdown field - still calls args.response.success() when there is no data for option(s).
CLOUDSTACK-6934: don't try to detach volume from host when volume was never allocated to a primary storage
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.
Detail view: support per-action filtering

Adds support for adding preFilter on a per-action basis, to assist in
plugin development. If action.preFilter function is passed, and returns
true/false, the action is shown/hidden. If no preFilter is specified,
then the action will be passed through the detail view's standard filter.

Example:

testAction: {
    label: 'Test Action',
    ...
    preFilter: function(args) {
        return false; // Action will be hidden
    },
    ...
}
CLOUDSTACK-6662
CLOUDSTACK-6844

 exit status delivery might get delayed

 Please enter the commit message for your changes. Lines starting