Added unique IDs per sender

Prior to this change if two clients used the same ID for a packet then the
federatedQueueManager could route the wrong packets back to a client.

Outgoing packets are now remapped to a unique ID before federating and
then remapped when the response comes back.

This fixes issue #42