Implement imperfect FH-OPE
As described in the paper, we can even further compress the client storage by not creating a brand new ciphertext each time repeated plaintext occurs.
We need to have a separate version of FH-OPE (by parameter) that enables this feature.