- In order to support reading symmetry operations from `CASTEP` binary
files it was useful to refactor how `BrillEu` objects are created.
- New class methods mirror those of `euphonic.ForceConstants` to read
first the force constants and then the symmetry information from
either a `CASTEP` binary file or a set of `Phonopy` files including the
`YAML` summary file.
- A helper class method takes the `ForceConstants` object and either set
of symmetry information plus the grid-creation keywords used
previously.
- Along with these changes the dependency on `Spglib` has been removed.
Attempting to use its determination of the Hall number proved too
complicated since it could introduce basis transformations; instead
either the symmetry operations (or their generators) or the correct
Hall symbol (or `Spglib` Hall number) must be provided to create a
`BrillEu` object. This means that if a caller function must also ensure
that it defines Q in units of the same lattice as the `ForceConstants`
derived crystal lattice.