spacemanager: Fix forwarding when disabled and add fast forward path

Addresses a bug in which PoolIoFileMessage was not forwarded to pool
manager when spacemanager was disabled.

Addresses a performance issue in which spacemanager congestion caused
by heavy write activity slows down read requests, even though read
requests are simply forwarded by pool manager. The issue is that the
forwarding of messages related to a read request happens on a thread
pool (manager by ThreadManager) that is also used by write requests.
This patch addresses the problem by forwarding such message immediately
rather than scheduling them on a different thread pool.

Note that read requests may still suffer from write congestion as
DoorTransferFinished must be intercepted by space manager and we
cannot distinguish between read and write requests without a
database lookup.

Target: trunk
Request: 2.6
Request: 2.2
Require-notes: yes
Require-book: no
Ticket: http://rt.dcache.org/Ticket/Display.html?id=7902
Acked-by: Paul Millar <paul.millar@desy.de>
Patch: http://rb.dcache.org/r/5886/
srm: fix file ownership queries

Currently, the SRM relies on down-casting the supplied SRMUser object to an
AuthorizationRecord to discover the uid and gid of this user.  This is used either
when querying whether a file is owned by some user or the user is a member of the
group that owns this file.

Since we recently moved away from AuthorizationRecord and used DcacheUser as the
concrete class that provides SRMUser, the ability to discover uid and gid of a user
was lost.

This patch fixes the problem by downcasting to the correct class.

A problem not fixed by this patch is that group-ownership is checked only against
the user's primary gid (all groups should be checked).  A future patch will fix
this.

Target: master
Requires-notes: no
Requires-book: no
Patch: http://rb.dcache.org/r/5905
Acked-by: Dmitry Litvintsev
Acked-by: Gerd Behrmann
*dcap, *ftp, ssh1: fix error handling

LoginManager is agnostic to the underlying protocol and delegates
this responsibility to some StreamEngine.  The StreamEngine is
instantated via reflection, which may result in an
InvocationTargetException being thrown, which wraps the underlying
cause of the problem.

There are two problems with the current code: first, if the underlying
problem is an Error (e.g. OutOfMemoryError) then this is not
propagated and dCache will try to continue in this ill-defined state;
second, the error message logged is that of the ITE, which does
not include a description of the underlying problem.

This patch fixes these two problems.

Target: master
Request: 2.6
Request: 2.2
Patch: http://rb.dcache.org/r/5906
Acked-by: Tigran Mkrtchyan
dcap: drop READV io log level from info to debug

Ticket: #7980
Acked-by: Paul Millar
Target: master, 2.6
Require-book: no
Require-notes: yes