SymmCD: Symmetry-Preserving Crystal Generation with Diffusion Models