cells,spacemanager: Fix forwarding of messages

Addresses a bug that caused space manager to forward
messages twice.

AbstractCell contains logic to detect whether a message
handler already generated a reply/forwarded a message.
For reply detection, the current mechanism of looking at
the message UOID works well: Whent the direction of an
envelope is reversed and the envelope is sent, the UOID
is updated. For forwarding this does not work as the
UOID doesn't change.

The fix is a hack, really. Instead of looking at the
UOID we look at the current address in the destination
path. If it changed, it is a clear sign that the message
was forwarded.

For space manager we have the additional challenge that
the message is forwarded asynchronously. We solve that
problem by advancing the destination path to the next
address synchronously, and then forward it in a background
thread.

Target: trunk
Require-notes: no
Require-book: no
Acked-by: Dmitry Litinvtsev <litvinse@fnal.gov>
Patch: http://rb.dcache.org/r/6101/