- added the ParameterLiteral type for literally specifying scheme parameters in Go programs
- removed the now obsolete `Moduli` and `LogModuli` types and their associated `Parameters` constructors
- unified the `ckks.Parameters` and `bfv.Parameters` types with common `rlwe.Parameters` base type
- extracted the `rlwe.Element` type as common base for BFV and CKKS plaintext and ciphertexts
- renamed the `Parameters.Copy()` method to `Parameters.CopyNew()` for consistency
- added `Parameter` methods to instantiate new `ring.Ring` structs directly
- `Parameters` types are now passed by value in most situations
- added `encoding/json`-compatible JSON serialisers and deserialisers for the `Parameters` types.
- added a `-params=[params json]` flag for all test and bench suites for specifying parameters from the command line.
- removed the scheme-specific key types
- added equality and inclusion check methods for the `rlwe.RotatationKeySet` type
- reduced the memory footprint of all structure by not copying read-only structs (like parameters or rings)
- RLWE : added a new `rlwe` package as common implementation base for the lattigo RLWE schemes
- DRLWE : added a new `drlwe` package as a common implementation base for the lattigo multiparty RLWE schemes
- BFV/CKKS : the schemes are now using a common implementation for their keys
- BFV/CKKS : the rotation-keys are now indexed by their corresponding galois automorphism
- BFV/CKKS : the `Evaluator` interface now has a single method for all column rotations and one method for the row-rotation/conjugate.
- BFV/CKKS : the relinearization and rotation keys are now passed to the `Evaluator` constructor methods (and no longer to the operations methods)
- DBFV/DCKKS : added a common interface and implementation for each multiparty key-generation protocols