RF: remove Freesurfer hack for shape in Nifti2

Freesurfer hack is for long vectors.  No need for this with Nifti2
because of the int64 dimensions.
RF: allow extension lengths not multiple of 16

The Connectome project is writing files with extension sizes that do not
divide by 16; allow these but warn.  Test that we are doing this.
DOC: add link to CIFTI format doc

Found the doc defining the CIFTI format.
NF: add nifti1 / nifti2 / analyze detection logic

Use early bytes from file to detect whether this file is nifti1, nifti2,
analyze, or neither.
RF: add nifti2 names to top level namespace
RF: use nifti 1 / 2 detection in save / load

Special-case nifti 1 / 2 pair saving.

Extend tests for single <-> pair conversion.

Allow '.hdr' as extension for saving to pair.
NF: add nifti2 example data files

Nifti2 header and image, both made by me, from the current code, because
I couldn't find any freely available examples.
BF: fix small remaining bugs in nifti2 tests

We were using nifti1 module load for nifti2 tests.

Need to specify nifti2 example file for nifti2 tests.
NF: copy extensions between nifti type headers

Nifti extensions are compatible between types; copy references to them
when converting from one nifti image type to another.