gh-37112: Tests to see if ideal in quaternion algebra is primitive (cyclic)
New methods for `QuaternionFractionalIdeal_rational`:
- `QuaternionFractionalIdeal_rational.is_integral()`
- `QuaternionFractionalIdeal_rational.is_primitive()`
- `QuaternionFractionalIdeal_rational.primitive_decomposition()`
These methods verify if an ideal in quaternion rational algebra is
integral, primitive (cyclic) and decompose it as a primitive ideal. Part
of the code came from
[https://learningtosqi.github.io](https://learningtosqi.github.io).
Also added the _Quaternion Algebras_ book by J. Voight in the
bibliography.
Done with @gioella
#sd123
URL: https://github.com/sagemath/sage/pull/37112
Reported by: Giacomo Borin
Reviewer(s): Lorenz Panny