The RequestCache behaves like a dictionary (i.e. stores Caches associated with their keys, or identifiers in our case).  Hence the pop() behavior that we should mimic is the behavior described by python dictionaries (see: http://docs.python.org/2/library/stdtypes.html#dict.pop)

In both the python dict.pop and a stack based LIFO pop the item that is 'popped' should be removed from the cache.  That our RequestCache allows multiple pops of the same key/identifier is not only in conflict with its name, but it *can* also cause bugs during runtime that malicious peers *could perhaps* exploit.

Hence, unfortunately we can not just rename the function (which would be fast and easy).  Instead we will have to fix its behavior to conform to what dict.pop() would do, i.e. actually remove the item when popped.