srm: Fix race condition in listing

The ListDirectoryHandler only worked if replies arrived in sequence
and sequentially. For singe threaded cells this worked fine, however
srm now uses multithreaded message delivery and thus listing broke.

The fix updates the handler to deal with concurrent and out of order
reply delivery.

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