Generalized move_func_strides to arbitrary dimensions

For context: strides are generally the fastest way to calculate moving window
functions with pure numpy (if sufficient memory is available). Since I like
using bottleneck for fast rolling window functions, I thought it would make
sense to be able to use bottleneck's implementation of striding moving windows
in higher dimensions.

Because there was no unit test coverage for this function, I also adapted
move_test.py to check against the 'strides' method for slow calculations as
well as the 'loop' method.