Simple benchmarks, optimizations

1. Added the /benchmarks directory. Included files let us measure encrypton, decryption, XOR, AND, key generation and retrieve() performance. Benchmarks return average time, median and standard deviation.

2. Optimizations - FHE operation results are now cached, so we avoid performing the same computation twice. Hit/miss ratio is now ~30% and can definetely be improved.

3. Store database can now be filled with random values. Very useful for benchmarks.