* Add THEMIS Policy Contract
* Add test with 128 ads
* Add instructions
* Allow clients to work concurrently
* pub(crate) utils to find unused code
* Remove serde_json dep
* Drop dependency on primitive_types
* Add a simpler inner_product
* Use elgamal for proof verification
* Migrate to Ristretto
Also, use Serde for instruction serialization
* Add remaining instructions to processor
* Remove rand 0.6 dependency
* Add instruction constructors
* Add e2e test
* Move client test out of BPF build
* Add BPF instruction count test
Shows us that serde makes too many recursive calls and causes
a very high instruction count (Vec<U256> becomes impractical).
* Use Borsh serialization and test calculate_aggregate()
Bump BPF instruction count limits after upgrading compiler
* Test SubmitProofDecryption BPF instruction count
* Remove CompressedRistretto
This drops SubmitProofDecryption instructions by ~2.5M.
Also, box up more RistrettoPoints, because they're huge (120 bytes) and
blow up the BPF stack.
* Add transaction size metrics and update BPF counts
* Switch back to BN
* Add benchmarking
* Use configured keypair path
* Make num_users configurable
* Make testnet benchmark an example, not a test
* Exclude themis client from CI build
Because of Travis failure on itertools dependency