srm: Fix return code and logging on "login errors"

A user recently reported that he got the following error:

ERROR MSG:	[FTS] FTS State [Failed] FTS Retries [0] Reason [SOURCE Failed to get source file size: srm-ifce err: Invalid argument, err: [SE][Ls][SRM_AUTHENTICATION_FAILURE] httpg://srm.ndgf.org:8443/srm/managerv2: Authentication failed (server log contains additional information)] Duration [1]

The server log however did not contain additional information, as that
information was only logged at info (which is disabled by default).

This patch refines the exceptions thrown by related code in different
error cases and updates how this is logged and reported to the client.
Thus the client will get more precise error codes and the server log
will contain more relevant information.

Target: trunk
Request: 2.10
Require-notes: yes
Require-book: no
srm: Log common misconfiguration preventing upload

Whether a transfer protocol is supported is checked in several places:

- At the request level (per requirement in the SRM spec)

- At the TURL computation level (as that's where we know the final path)

- In PutFileRequest (redundantly)

The redundant check in PutFileRequest is removed. The logging for
failed TURL computation is removed - this information is already
registered as a state transition on the job. A new log message is
added that logs common misconfiguration in which the path being
accessed isn't exposed by any of the doors supporting the requested
protocol. This would typically be the upload directory.

Such a misconfiguration now logs:

10 sep. 2014 23:46:18 (SRM-Gerds-MacBook-Pro) [hMA:1:srm2:prepareToPut:-2147482647:-2147482646] No door for [gsiftp] provides access to /upload/eefaa8f5-ea76-460e-b172-57ea8c69eb5f/a.

Target: trunk
Require-notes: yes
Require-book: yes
Request: 2.10
Acked-by: Tigran Mkrtchyan <tigran.mkrtchyan@desy.de>
Acked-by: Paul Millar <paul.millar@desy.de>
Patch: https://rb.dcache.org/r/7294/
srm: Minor refactoring of ls command

The 'ls' and 'ls completed' commands are merged, and the 'ls completed'
command is replaced by 'ls -completed=<n>'.

The command line interface is moved from thed dcache-srm module to the
srm-server module and used for both dCache and the standalone server.

List formatting related methods are moved from the SRM class to
SrmCommandLineInterface.

This patch is in anticipation of further extensions to the list command.

Target: trunk
Require-notes: yes
Require-book: yes
Acked-by: Paul Millar <paul.millar@desy.de>
Acked-by: Tigran Mkrtchyan <tigran.mkrtchyan@desy.de>
Patch: https://rb.dcache.org/r/7264/