Versioned, ordered, skip list map in C