srm: Improve error codes and messages in srmReleaseFiles implementation

Addresses issues in srmReleaseFiles, ensuring that spec compliant return
codes are used, and better error messages are returned to the client.

Addresses issues in which release files in some casses would trigger
IllegalStateTransition exceptions and cause the release file operation
to fail.

The patch refactors some URI handling and request token handling
to reduce the number of times we need to do convert between types.

Target: trunk
Require-notes: yes
Require-book: no
Acked-by: Tigran Mkrtchyan <tigran.mkrtchyan@desy.de>
Patch: http://rb.dcache.org/r/6086/