enforcing pickle to use copy of dict while serializing extra context of the notification

This fixes a type of notification extra context pickling in our case (remove was failing as key not found). 

Example that satisfies the condition:
import pickle
x = {'order_number': 'X', 'deal_url': 'J'}

pickle.dumps(x)
pickle.dumps(pickle.loads(pickle.dumps(x)))
pickle.dumps(pickle.loads(pickle.dumps(pickle.loads(pickle.dumps(x)))))

Where 1 and 3 are same but second is different.