bson.json_util.loads does not recognize and appropriately convert $timestamp in the object_hook to json.loads.
A document fragment like the following throws an exception in bson.json_util.loads due to the field name starting with '$':
{u'$timestamp': {u'i': 3, u't': 1416343293}}
Instead, it should convert it to a bson.Timestamp.
Here's the diff in my fork to be more clear about what I'm on about:
https://github.com/jribnik/mongo-python-driver/commit/cb2ff1d08fc9ded7f350a1050a64d01394fc34d9