Rename Key -> KeyHasher, KeyFunctor -> MakeKeyHasher
Summary:
The `Key` module doesn't really represent a "Key" type, rather it is a hasher for a user-defined type: a `KeyHasher`!
Rename the undescriptive module names `Key` and `KeyFunctor` into `KeyHasher` and `MakeKeyHasher`. Also make the type of the key abstract.
In the next diff we will embed the hashing-prefix into this module.
Reviewed By: ljw1004
Differential Revision:
D30887416
fbshipit-source-id:
7e71cdf97955f4f3d818f548a423be64b58d04eb