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