webadmin: Reimplement active transfers page

Reimplements most of the active transfers page of webadmin, including the
information gathering logic, transfer cancellation, pagination, sorting,
filtering, etc.

Queries to gather information about active transfers are no longer
sequential: Both queries to login brokers, doors, and pools are
done concurrently. This should lead to much more up to date information
on large and busy systems.

Transfer cancellation is no longer done per pool. Instead all selected
transfers are aborted concurrently.

The amount of state copied into each view is much smaller. Rather than
repeatedly copying the transfer state into ActiveTransferBean,
ActiveTransfersBean is used as the data model in the MoverDAO.

The entire list of active transfers is no longer copied into each
instance of the page. This copy could quickly lead to problems to
memory consumption, in particular when several clients opened the
page at the same time. Instead the shared list of active transfers
is exposed as a data provider. The data in this provider is
rendered by a Wicket DataTable component.

Pagenation, sorting and filtering are implemented server side. This
has the benefit that when a very large number of transfers are ongoing,
not all of them need to be rendered at once. Sorting and filtering
is pagenation aware. Since these things are implemented server side,
the pagenation, sorting, filtering and selection state survives
automatic form reloading.

The selection state has been decoupled from the data model, meaning
that there is no need for the SelectableWrapper hack.

I followed Wicket recomendations and did *not* introduce a separte panel.
It is easy enough to refactor once the same view is needed somewhere
else. Until then a separate panel just clutters the code.

Target: trunk
Require-notes: yes
Require-book: no
Acked-by: Albert Rossi <arossi@fnal.gov>
Acked-by: Karsten Schwank <karsten.schwank@desy.de>
Patch: https://rb.dcache.org/r/7084/