Provides a more resilient way to parse symops.
Currently, parsing 'x-1/4, y-1/4, -z' gives an incorrect translation vector ([0.25, 0.25, 0] instead of [-0.25, -0.25, 0] or [0.75, 0.75, 0]).
This new code does that (and seems to work well with the rest). Also added an option to force fractional translation vectors to be contained in the unit cube.