Only send message to each client once
Add dedupId to options when we forward messages. Check this when sending a
message to prevent same message being sent twice to a connection.
Assumes:
- options is always an object and never null
- fresh options object is minted for each message
Remove crypto require
Fix test to use puback
Fix test fail on Node 0.8
mqtt uses readable-stream which doesn't send data straight away.
So wait before disconnecting so the data gets chance to go.
Make sure always use number for dedupId, and don't process any 'old' messages.
Removed useless setTimeout from the overlapping test.