Clean up lib/image/stride.h header

In particular, remove ancient references to 'Set' as the template argument,
replace with 'InfoType'.
Changes necessary to preserve image strides

These changes allow image strides to be preserved as closely as possible
through the processing chain, particularly for NIfTI. The idea is to
preserve the order (and direction) of those axes not explicitly
requested as contiguous by the application, so that the strides of the
output image match that of the input even if the application uses a
BufferPreload with a specific stride request, or the output
Image::Header/Buffer is created with a specific stride request.

For these changes to work as expected, applications will need to be
modified to use exclusively the Image::Stride::contiguous_along_axis(),
Image::Stride::contiguous_along_spatial_axes(), and
Image::Stride::set_from_command_line() convenience functions. Explicitly setting
all strides will otherwise remove all trace of the original strides, leaving no
chance for the backend to try to recreate the output strides.
Updated all commands to use Image::Stride convenience functions

As required to preserve image strides as closely as possible, see commit
a74843657 and issue #45.
Merge branch 'nifti_strides'