srm: Undo external operations if the request has expired

Much of our code registers a callback or usses blocking RPC style
when communicating with other services. This code may time out. If
the external operation happens to be successfull anyway, then the
message is discarded unless a message handler exists for that
message.

This patch adds three such message handlers for the srm. It deals
with unique upload path creation, pinning and space reservation.
In each case the resource that was created is removed. Common to
these three requests is that the resource created is uniquely
identified. This is different from, eg, a directory that was
created - we cannot delete the exisence of the directory may
already have been noticed by others.

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