Speed up convolve_fft in a few small ways

As suggested by @jtaylor:

 1. Pad to nearest power of 2, 3, 5 (if scipy is available)
 2. Allow real ffts, which will use less memory and may be better optimized.  This is awkward to use for now.

WIP - should have feedback before merging is considered
This change allows newshape to be non-square, which apparently causes some set of problems...