* arith: get rid of constant generics. Reason:
using constant generics was great for allocating the arrays in the
stack, which is faster, but when started to use bigger parameter values,
in some cases it was overflowing the stack. This commit removes all the
constant generics in all of the `arith` crate, which in some cases slows
a bit the performance, but allows for bigger parameter values (on the
ones that affect lengths, like N and K).
* bfv: get rid of constant generics (reason in previous commit)
* ckks: get rid of constant generics (reason in two commits ago)
* group ring params under a single struct
* gfhe: get rid of constant generics
* tfhe: get rid of constant generics
* polish & clean a bit
* add methods for encoding constants for ct-pt-multiplication