We've been assuming that the FFT plan is always valid. While this should always be true for FFTW, it isn't true for eg. the MKL wrappers for FFTW, since certain kinds of FFTs are disallowed. We should just do a check and abort if a plan is invalid, instead of silently proceeding.
This is related to #73 -- where the lack of this caused failures.