NF+TST: add mmap keyword to array_from_file

Add memory mapping keyword to array_from_file getting ready to add this
to the image loading API.
NF: add mmap keyword to ArrayProxy class

Give array proxy class ability to tune memory mapping via `mmap`
keyword-only argument.
NF: add mmap keyword for Analyze image types

Allow specifying mmap flags when loading Analyze-type images.
NF: top-level load passes on keyword arguments

Check this works for mmap keyword argument to top-level load.
RF: refactor arrayproxy tests for re-use

I want to use the arrayproxy tests for other ArrayProxy objects,
particularly the PARRECArrayProxy. Refactor to make this easier.
RF: refactor image mmap test for re-use

Refactor image arrayproxy test mixin to make it easier to deal with the
case where we can't easily make a new image from scratch, and we might
want to use some example image instead.
NF: add mmap keyword to PARREC with tests

Use refactored tests to test PARREC mmap interface.
DOC: rewrite docstrings using `infile`

I copy / pasted docstrings leaving the original argument name `infile`,
for methods / functions where this is not the argument name.  Fix.
RF+DOC: PEP8 / docstring fixes from Eric's review

Use 'A is not None' instead of 'not A is None'.

Fix incorrect docstring mentions of 'r+'.
Merge pull request #268 from matthew-brett/mmap-api

MRG: mmap keyword for loading images

Add mmap keyword to control memory mapping on image load.

API as discussed on the nipy list.
RF: change absolute to relative imports

Use relative imports for nibabel modules.
Merge pull request #270 from matthew-brett/to-relative-imports

MRG: change absolute to relative imports

Use relative imports for nibabel modules.
NF: informative error when trying to slice images

From suggestion by Eric L.
BF: add np.intp, np.uintp to supported dtypes

Add np.intp, np.uintp to supported header dtypes if they compare equal
to supported types with np.dtype(t1) == np.dtype(t2).
RF: specify endiannes of PARREC data

Is PARREC data always little-endian?  Guess that it is for now.
RF: specify endianness on nifti write

PARREC to nifti should specify data endianness.
BF: work round Python bz2 bug

Python 3.3 sometimes has a bug writing empty strings to bz2 - see:

* http://bugs.python.org/issue16828
* https://github.com/ilanschnell/bsdiff4/issues/3
RF: delete objects holding files for windows

Windows complaining about trying to delete files that still have objects
holding onto them.  Delete these objects as we go.
RF: allow for Windows double == longdouble

On Visual studio builds of numpy, longdouble is the same as double.
Merge pull request #271 from matthew-brett/error-on-slice

MRG: informative error when trying to slice images

From suggestion by Eric L.