Fix the way obsolete messages are stored by tomasr8 · Pull Request #1132 · python-babel/babel
Closes #1124
Previously, the Catalog.obsolete dictionary would use the msgid as a key to store messages.
When there are two messages with the same id but a different context, the latter one overwrites the former.
The fix is to use Catalog._get_key as the key, same as for _messages.
This might be considered a breaking change, however the only documentation for Catalog.obsolete is this:

The docs never say anything about how the keys are computed, so I think it should be safe to make this change (and perhaps document it too?)