Fixed multiple receive bug when there are multiple subscribers of same type

Timestamps were stored in a single double for each interface of a given type: message_time. Each subscriber checks if the message timestamp differs from the stored timestamp and if so stores the message timestamp in message_time. This results in the value of message_time alternating between the values of the timestamp of the message for each subscriber.

The fix is to simply create a map of timestamps such that each subscriber has a unique previous timestamp.