Added the ability to interpolate in the frequency domain to Trace.resample(). Should fix issue #857

Ok, so now here's the promised pull request. The new code uses the numpy.interp() function to interpolate the spectra in the frequency domain. I guess that's roughly what you were suggesting, Lion, right?

A few (in fact two) more thoughts:
1) I'm not sure to what extent the strict_length option makes sense. The endtime of a trace may also change if len(self.data) % factor == 0.0 holds, since the endtime is calculated based on (npts - 1)*delta. 
2) I've seen that in the current master branch there's a new signal.interpolation module, which also contains a weighted_average_slopes() function, of which I'm assuming that it does something similar to SAC's "interpolate" command. Maybe this would in general be the better solution for resample(), since this windowing + filtering business seems a little messy to me. On the other hand the "weighted average slopes" method might be messy too, so not sure...
np.rfft is the positive part of the np.ftt for a real input. BUT, scipy's rfft gives an array of twice the length ! It's not a bug, it's a choice, I suppose. So, np returns N-element complex numbers, while scipy returns 2*N elements, the first is the real value, the second the complex associated, etc...