pool: Clean up StorageClassContainer and StorageClassInfo

- Addresses catch all exception handlers

- Removes redundant locking in StorageClassContainer

- Removes unused fields

- Addresses synchronization issues

- Rewrites shell commands as annotated commands (better help output,
  better tab completion in the future).

- Drops deprecated 'define class' command (needs to be mentioned
  in release notes).

- Use thread pool rather creating new threads on every callback

- Avoid unnecessary collection copies

Target: trunk
Require-book: no
Require-notes: yes
Acked-by: Tigran Mkrtchyan <tigran.mkrtchyan@desy.de>
Patch: http://rb.dcache.org/r/5468/
pool: Clean up HSM storage handler

Addresses code smell in HsmStorageHandler2 class.

- Prefer setter injection over constructor injection

- Prefer annotated CLI command

- Document CLI commands

- Avoid raw types

- Avoid dead code

- Consistent source code formatting

- Prefer logging patterns over string concatenation

- Embed CLI command in HsmStorageHandler2. Having them in a separate
  class led to an overly complex interface for HsmStorageHandler2 and
  led to race conditions and inefficient code.

This is the first of several patches for HsmStorageHandler2.

Target: trunk
Require-book: no
Require-notes: no
Acked-by: Tigran Mkrtchyan <tigran.mkrtchyan@desy.de>
Patch: http://rb.dcache.org/r/5478/
pool: Clean up job scheduler used for HSM

Addresses code smell in SimpleJobScheduler. The output format of
'rh jobs ls' and 'st jobs ls' is changed as the priority, client
and client ID are no longer shown - these fields were not used
and always contained the same value for HSM jobs.

JobScheduler and its implementation is only used by HSM jobs
and thus much of its functionality was unused. The patch
removes a lot of dead code.

Target: trunk
Require-notes: yes
Require-book: yes
Acked-by: Tigran Mkrtchyan <tigran.mkrtchyan@desy.de>
Patch: http://rb.dcache.org/r/5480/
pool: Replace redundant st/rh jobs remove/kill commands with st/rh kill

Addresses the functionality overlap between the st jobs remove/
rh jobs remove and st jobs kill/rh jobs kill. These commands are
replaced with the new st kill and rh kill commands, respectively.

Addresses a race condition between killing an HSM job and the
start of the HSM script.

Resulting dead code is removed from SimpleJobScheduler. HSM script
invocation is modified to translate return code 143 (sigterm) to
a TimeoutCacheException.

Target: trunk
Require-notes: yes
Require-book: yes
Acked-by: Tigran Mkrtchyan <tigran.mkrtchyan@desy.de>
Patch: http://rb.dcache.org/r/5482/
pool: Remove redudant rh/st jobs ls commands

Addresses duplicated functionality in the commands rh/st jobs ls
and rh/st ls. Both commands listed the restores/store requests on
the pool, although with different attributes. The additional
attributes have been added to rh/st ls and rh/st jobs ls has been
removed.

Target: trunk
Require-notes: yes
Require-book: yes
Acked-by: Tigran Mkrtchyan <tigran.mkrtchyan@desy.de>
Patch: http://rb.dcache.org/r/5483/
pool: Fix race conditions in HSM management commands

Addresses race conditions in HSM management commands. These
race conditions could lead to corrupted HSM definitions and
infinite loops during flush and stage.

It is unlikely that one would hit any of these races in the
real world. For this reason I am not requesting a merge to
stable branches.

Target: trunk
Require-notes: yes
Require-book: no
Acked-by: Paul Millar <paul.millar@desy.de>
Patch: http://rb.dcache.org/r/5486/
pool: Minor refactoring of HsmStorageHandler2

- Don't expose internal queue to other components.

- Make internal stuff private.

- Move utility methods to the correct class.

- Remove unnecessary synchronization

Target: trunk
Require-book: no
Require-notes: no
Acked-by: Tigran Mkrtchyan <tigran.mkrtchyan@desy.de>
Patch: http://rb.dcache.org/r/5491/
Minor bug fix upgrades for third party dependencies

Addresses the issue that several third party libraries used by dCache
have bug fix releases newer than the version we use.

I would have liked to get these committed before 2.6.0 got released,
but didn't have the time to do it.

Target: master
Request: 2.6
Require-book: no
Require-notes: yes
Acked-by: Tigran Mkrtchyan <tigran.mkrtchyan@desy.de>
Patch: http://rb.dcache.org/r/5549/
nfsv4: initialise CDC for better logging

Acked-by: Paul Millar
Target: trunk, 2.6
Require-book: no
Require-notes: no