Fix log message containing invalid access latency and retention policy values

Addresses an issue in which log messages would show values for
access latency and retention policy from uninitialized fields,
rather than the actual values of the file the log message is
refering to.

The regression was introduced when these fields got deprecated
in storage info. dCache doesn't make use of the fields anymore,
however they still appear in the toString version of storage info
and thus appear in various log outputs and error message.

Target: trunk
Request: 2.7
Request: 2.6
Require-notes: yes
Require-book: no
Acked-by: Paul Millar <paul.millar@desy.de>
Patch: http://rb.dcache.org/r/6273/
gplazma: add public key size information to gPlazma results printer

Recent changes to JVMs have shown that key-size can be an importact
factor when understanding why a login has failed; specifically,
new JVMs now disallow certificates with RSA keys with less than 1024
bits.

This patch adds support for printing the number of bits in the public
key(s).  Unfortunately the interface (PublicKey) provides no mechanism
for discovering this information so we must down-cast to known
classes to discover the information.

Requires-notes: yes
Requires-book: no
Acked-by: Gerd Behrmann
Patch: http://rb.dcache.org/r/6274
Target: master
Request: 2.7
Request: 2.6
Request: 2.2
namespace: use FileType to specify type of create object

Acked-by: Paul Millar
Target: master
Require-book: no
Require-notes: no
Add help text for rebalancer.

Our online help doesn't mention the effect of the metric
option.  This patch adds this information.  It also
adds the format for the refresh option.

Ticket: http://rt.dcache.org/Ticket/Display.html?id=8119
Requires-notes: no
Requires-book: yes
Target: master
Request: 2.7
Request: 2.6
Request: 2.2
pool: Fix command string output for migration commands

Addresses the issue that 'migration move' and 'migration cache' commands
are shown as 'migration copy' commands in the output of 'migration ls',
'migration info' and when saved to the setup file.

Target: trunk
Request: 2.7
Request: 2.6
Require-notes: yes
Require-book: no
Acked-by: Paul Millar <paul.millar@desy.de>
Patch: http://rb.dcache.org/r/6278/
Remove legacy logging in AbstractCell

AbstractCell offered a logging system that predates per-cell log level
adjustments. There is no longer any need for that logging system and
this patch replaces all uses of it with a regular static per-class
Logger instance.

Target: trunk
Require-notes: no
Require-book: no
Acked-by: Paul Millar <paul.millar@desy.de>
Patch: http://rb.dcache.org/r/6279/
Add support for simple read-only WebDAV properties

This patch adds initial support in dCache for supporting WebDAV.  Only
three read-only file-based properties are added (AccessLatency,
RetentionPolicy and Checksums), but I've marked in the code where dCache
is notified of any requested changes to property values.

Some observations:

1. Milton provides two levels of abstraction when answering queries
   about properties.  One (implemented in this patch) is based on the
   Resource implementing the MultiNamespaceCustomPropertyResource
   interface.  The other involves creating classes for handling property
   queries and updates (the former is implemented based on the latter).
   The latter has the benefit of separating the property-handling code
   from the other aspects of file and directory management.  If the
   property-handling code grows to dominate the
   Dcache{File,Directory}Resource classes then this might be a
   convenient way of factoring out that code.

2. Milton asks for the Resource before parsing the XML body of the
   client's PROPFIND or PROPPATCH request.  After processing the XML,
   Milton iterates over the list of properties to modify, query or
   remove.  Static metadata is obtained before any operation, so it can
   filter-out attempts to query an unknown property, or to modify a
   read-only property.

   The combination of processing the XML and processing the properties
   iteratively means the webdav door must either fetch all potentially
   useful attributes when building the Resource, or it will send a
   message for each requested property.  Neither is terribly appealing;
   I went for the former for now, but we should fix this in the future.

3. If a client sends a malformed XML statement then Milton will log a
   stack-trace.  This seems overkill, but I've left that as-is for now
   as it may need to be fixed upstream.

4. I've unilaterally adopted the SRM namespace for reporting access
   latency and retention policy of the file.

The patch also modifies the RFC-3230 support to honour the 'Want-Digest'
request header only if the method is GET or HEAD.  RFC-3230 is only
defined for GET (and HEAD must return the same headers as GET would have
returned).

The patch adds some support in FileAttributes for returning a Guava
Optional object.  The semantics are:

    get<ATTRIBUTE-NAME> method is use when a missing attribute is a bug.

    get<ATTRIBUTE-NAME>IfPresent is used when a missing attribute is not
       (necessarily) a bug.

Target: master
Requires-notes: yes
Requires-book: yes
Patch: http://rb.dcache.org/r/6270/
Acked-by: Gerd Behrmann
srm: Avoid use of legacy PnfsGetFileMetaDataMessage

Besides removing the use of a legacy message, the patch resolves
a race condition in the directory creation code for uploads. The
old code tried to optimize the kind of meta data that was fetched
from PnfsManager, however since several uploads may interact, this
optimization could lead to errors as one upload would fetch meta
data reused by another upload.

Target: trunk
Require-notes: no
Require-book: no
Acked-by: Tigran Mkrtchyan <tigran.mkrtchyan@desy.de>
Patch: http://rb.dcache.org/r/6263/
pnfsmanager: Drop legacy PnfsGetFileMetaDataMessage

Target: trunk
Require-notes: no
Require-book: no
Acked-by: Paul Millar <paul.millar@desy.de>
Patch: http://rb.dcache.org/r/6265/
pnfsmanager: Drop PnfsSetFileMetaDataMessage

The few places that still used it have been updated to use
PnfsSetFileAttributes.

Target: trunk
Require-notes: no
Require-book: no
Acked-by: Paul Millar <paul.millar@desy.de>
Patch: http://rb.dcache.org/r/6266/
pnfsmanager: Drop legacy FileMetaData class

Target: trunk
Require-notes: no
Require-book: no
Acked-by: Paul Millar <paul.millar@desy.de>
Patch: http://rb.dcache.org/r/6267/
pnfsmanager: Drop PnfsGetStorageInfoMessage

Updated httpd, replica manager, transfer managers, and srm
to use PnfsGetFileAttributes.

Target: trunk
Require-notes: no
Require-book: no
Acked-by: Paul Millar <paul.millar@desy.de>
Patch: http://rb.dcache.org/r/6271/
loginmanager: Automatic reformatting of code

Target: trunk
Require-notes: no
Require-book: no
Patch: none
cells: Refactor LoginManager

Light refactoring of LoginManager, focusing on synchronization,
thread creation, and logging.

Target: trunk
Require-notes: no
Require-book: no
Acked-by: Tigran Mkrtchyan <tigran.mkrtchyan@desy.de>
Patch: http://rb.dcache.org/r/6281/
chimera: use path to get files parent on remove

while in most of the cases we need to resolve symbolic links,
on delete we must only link and not the target

Acked-by: Gerd Behrmann
Target: master, 2.6, 2.7, 2.2
Require-book: no
Require-notes: no