Idea for FLOSS project: Multi-key / bidirectional map implemented as a list of objects with searchable indexes and insert/delete events, with implementations for the most common languages. This type of data structure is one I've needed more times than I can count.
It's less straight forward when storing non-primitive datatypes or references to external objects, but not impossible. You'd just have to make sure that the most basic usage scenario stays easy to configure.