srm: Fix race conditions in request credential storage

The request credential storage implementation is riddled with race
conditions. This patch addresses those issues.

The way we treat request credentials is broken as we collapse
delegated credentials based on dn and primary fqan. There is
no guarantee that the delegated credentials are always the
same and there is thus no basis on which we can collapse them.

More over we never delete delegated credentials. Due to the
collapsing mentioned above, the number of different credentials
is limited for most scenarios.

Combined, these two issues mean we have to completely rewrite
how we deal with delegated credentials. However for now I am
focusing on the race conditions as they cause random S2 test
failures.

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