fix(Key): fixed bugs caused by hashCode collisions, and docs cleanup

Fixes #94
perf(Key): don't use Map.putIfAbsent -- too slow

This change gives a 25% boost to Module benchmark.