BUG: Fix loading npz files >2GB on 64bit systems

Large npz archives >2GB can not be loaded due to a 64-bit compatibility bug in cStringIO and zlib. This is solved by reading the data in small chunks. The size of a chunk is adjusted for optimal reading performance and can be configured via numpy.lib.format.BUFFER_SIZE (default 256 kb). 

This fixes bug #2922 and gives an IO performance bonus.