Add a check that the unitary part of `PointGroupElement` is actually unitary
Currently no check is done, if a symmetry operator is defined non-unitary, the Hamiltonian generator pipeline finishes without any errors, finding no suitable solution. We should add a check, perhaps at definition time for
PointGroupElement. Might also be a good time to think about making
PointGroupElements explicitly immutable.