* Replace `CrandallQuarticField` with a more generic `QuarticExtension`
And likewise for `CrandallQuadraticField`.
There are a few parameters which we can't automatically derive (in const Rust), so I specified them in a `AutoExtendable` trait.
This would make it fairly easy to add extension fields for `GoldilocksField` and any future fields.
* Attempt to derive 2-adicity, see Hamish's feedback
* Simplify TWO_ADICITY based on chat with Hamish
* PR feedback
* Merge AutoExtendable into Extendable (#235)
* Goldilocks field
Based on Hamish's old branch, but I updated it with a few missing things like generators.
Pulled the inversion code into a shared helper method to avoid redundancy.
Just the base field for now. We can add a quartic extension field later.
* typo
* PR feedback
* More overflowing -> wrapping
* fmt
* cleanup