Key-Value (Dictionary implementation) in C for educational/experimental purposes