added FFTEngine class
The new FFTEngine class was made to better manage FFT plans, based on (size,
strides and number of components instead of the address of the first element).
This should drastically reduce the number of plans needed, as well as allow the
definition of size-specific workspaces to work with MPIFFTW.