backoff-controller: update unit-tests, refactor code

The current unit-tests rely on the code requesting a delay of x
milliseconds resulting in an actual delay of, at most, (x+100)ms.

Operating systems make no such guarantee and we have had a few cases
where dCache builds have failed because of this.

This patch refactors backoff-controller and the unit-tests to remove this
assumption.  The backoff-controller was simplified.  The superfluous builder
was removed.  The unit-tests updated to remove dependency on exponential-
backoff algorithm, add assertions of the overall response and cover more
possible behaviours.

Target: master
Requires-notes: no
Requires-book: no
Patch: http://rb.dcache.org/r/6463/
chimera: refactor PGET into abstract node

Given the fact that we would like to optimize the size of the file handles on the ".(get)" operations by not including the arguments, it now makes no sense to have the FsInode_PGET represent any concrete operation. Instead, we would like a hierarchy of get operations which have the basic read mechanism in common.

This patch represents the first of a two part refactoring.  It does the following:

1.  Changes FsInode_PGET to an abstract node.
2.  Implements the degenerate case (cursor) as a separate subclass FsInode_PCUR.
3.  Changes FsInode_CRC (checksum) to be a subclass of PGET.
4.  Adjusts the FsInodeType to reflect these changes.
5.  Modifies the JdcbFs class accordingly.

Testing: Works on both nfs 3 and nfs v4.1.

Target: master
Request: 2.7
Patch: http://rb.dcache.org/r/6407
Require-book: no
Require-notes: no
Acked-by: Tigran

Changes are invisible to user.
chimera: refactor PGET, part 2: eliminate caching of file locality node

Use of the Guava cache to maintain state on the FsInode used to convey locality information is unnecessary if the operation subclasses the abstract PGET operation.

The slight disadvantage is that a call to the PoolManager will be made each time stat() is called by the client; the advantage is that the server is not maintaining state on client operations, which does not really fit the NFS protocol and was something of a hack.

This patch completes the refactoring begun in 6407.  It changes the FsInode_PLOC to subclass PGET, removes the caching mechanism from the DCacheAware fs interface, and adds one method the FileSystem API (getFileLocality).

Testing: Tested successfully on nfs3 and nfs v4.1.

Target: master
Request: 2.7
Patch: http://rb.dcache.org/r/6409
Require-book: no
Require-notes: no
Depends-on: http://rb.dcache.org/r/6407
Acked-by: Tigran

Changes are invisible to the user.
chimera: make lstag argument optional

The ls command takes an optional path as an argument.  This patch
adds the same functionality to lstag.

Target: master
Requires-book: no
Requires-notes: no
Acked-by: Gerd Behrmann
Patch: http://rb.dcache.org/r/6443/
chimera: add an rm command to shell

Adds a command to delete a file (or sym-link) in dCache.

Target: master
Requires-notes: yes
Requires-book: yes
Patch: http://rb.dcache.org/r/6447/
Acked-by: Gerd Behrmann
glue: do not assume PoolManager runs in dCacheDomain

The GLUE information model accepts a single 'version' value, yet
dCache is a distributed system and could have many different versions
running concurrently. To solve this problem, the info-provider uses
the dCache version of the PoolManager as "the" dCache version.

Currently, the info-provider assumes that PoolManager is running in
dCacheDomain; although many sites have this configuration, it isn't
a safe assumption.

This patch removes this assumption: the PoolManager version is used
irrespective on which domain it is running in.

Target: master
Request: 2.7
Request: 2.6
Request: 2.2
Ticket: http://rt.dcache.org/Ticket/Display.html?id=8150
Patch: http://rb.dcache.org/r/6350/
Acked-by: Karsten Schwank
spacemanager: Fix trigger name in HSQLDB triggers

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