Made fileno transparent
prevent memmap being created from .bz2 file
Test that unzipped nifti files return memmory map

Also tests that zipped nifti files return ndarray.
Tests now also check save/load for unzipped nifti files, besides the
zipped version
RF+API: Opener ignores case for compressed exts

Make `Opener` class ignore case when looking for compressed extensions
such as '.gz' or '.bz2', by default.
DOC: docstring for filespec_to_file_map

Add docstring for filespec_to_file_map class method.
RF+TST: allow mixed case image file extensions

Allow image filenames to be mixed case including compressed extensions
like '.gz' and '.bz2'.
RF: allow for images that can't be built in memory

Some images (particularly, PARREC), cannot be easily constructed in
memory, because their headers are rather complicated to construct.

Allow skipping tests that need to construct in-memory images.
NF: add PARREC to top-level load

Allow PAR/REC files to be loaded from top-level `nibabel.load` function.
DOC: pep8ify inline comment

From comment by Eric Larson
Merge pull request #265 from matthew-brett/parrec-top-level

MRG: add PARREC to top level load

Add ability to load PAR / REC file from top-level nibabel.load.

On the way, make load function allow upper case compressed extensions, and
refactor image class generic testing to allow case where it is difficult to
create image class in memory.
Merge pull request #258 from MichielCottaar/fix_mmap

MRG: Allow unzipped nifti files to be loaded in numpy mmap

In the latest numpy version (1.8.2) and perhaps in earlier numpy versions, the memory map (mmap) requires access to the file number assigned to the file when it was opened. This patch makes the `fileno` method accessible in the Opener object and thus causes ArrayProxy.get_unscaled to return a memory map (as originally intended) rather than an array for unzipped files.
BF: fix warnings testing for Python 3.4

A terribly confusing change of behavior in Python 3.4, work round with a
test function.
Merge pull request #266 from matthew-brett/fix-warns-testing

MRG: fix warnings testing for Python 3.4

Work round confusing change in warnings record in Python 3.4
TST: test fileno method of Openers objects

Check that BytesIO raises UnsupportedOperation, and other types have
non-zero fileno.
TST: tests of ``array_from_file`` with Openers

Test that ``array_from_file`` works correctly with ``Opener`` instances.
BF: add check for bz2 file having fileno

bz2 file does not have fileno in Python 3.2 and 2.7 on travis at least.
NF: test for file-like containing compressed data

Test for gzip / bz2 file object, so we can in due course avoid
memory-mapping these guys in ``array_from_file``.
TST: can we change strings from files?

If we can change strings loaded from files without messing up the result
of a subsequent load, then we can use the string memory as modifiable
memory backing the array returned from `array_from_file`.
TST: add tests for array reread

Check that reading an array, modifying the array, then rereading the
array, returns the same result for both reads.
RF: refactor mmap logic in array_from_file

Use test for compressed files so we don't mmap them.  Numpy was trying
to mmap bz2 files.

Following suggestion from Nathaniel, use `readinto` method of most
file-like objects to read data into given memory location, so we can be
sure that memory location is not used by some other object.

If we can't use `readinto`, use heuristic to guess whether we can re-use
memory from file bytes read for array memory store.

Use bytearray to read data into, to avoid complications with numpy
array.data buffers and Python 3 / "non-native" datatypes.