Remove the Elem_kv class for now.

It was used to store a tuple of hash/key/value. The benefit was that
for the types that supports unboxing could be unboxed, thus saving
memory and giving a speedup. It could also either cache the hash, or
recalculate it on demand, making the trade off depending on the key
size. If the value is a tuple, i.e. we're using the hash map as a hash
set, then there is no need to store the () at all, thus saving more
bytes.
The tuple is a bit cumbersome to use though, since each key/value type
pair needs to get it's own class instance. The class might return later
with Template Haskell to ease the creation of the instances.