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.
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``.
RF: refactor mmap logic in array_from_file

Use test for compressed files; drop attempt to save memory from strings
until I understand better.