core: don't use reflection to invoke getPnfsId

Many messages  in dCache do have getPnfsId method.
This information is stored in diagnostic context. Unfortunately,
to invoke getPnfsId() reflection is used as there is no common
way to get this information.

This change modifies all messages which have getPnfsId() and
override getDiagnosticContext() to provide the same information,
but without reflection.

Acked-by: http://rb.dcache.org/r/5640/
Acked-by: Gerd Behrmann
Target: trunk
Require-book: no
Require-notes: no