Always call the callback when an item is removed.

The removal may be explicit (user used del lrucache[key]) or part of another operation.
Call the callback when replacing an existing key with a new value.
Unit test to test callback functionality.