Add an alternative FFT operator

Closed Martin Reinecke requested to merge alt_fft into master

This branch introduces a new FFT operator which uses the same primitive data type (float or complex) in both position and harmonic space.

For complex inputs, it behaves in exactly the same way as the existing FFTOperator; for real fields it represents the (hermitian) complex fields on the harmonic side as the sum of their real and imaginary parts. This construction does not lose any information with respect to the complex fields, lives on the same spaces and has the same distance array.

Currently tests only use zerocenter=False, because zerocentered domains seem to trigger a bug in Nifty's FFTs (see issue #174 (closed)). Also one of the MPI tests fails because FFTs of odd length are not (yet) supported in that scenario. However it is absolutely necessary to test odd lengths to get more coverage.

Merge request reports