update the Bloscapck plug

Okay, so check this out:

```
In [34]: import bloscpack as bp

In [35]: import cPickle

In [36]: a = np.arange(1e7)

In [37]: %timeit ap = cPickle.dumps(a, protocol=-1)
10 loops, best of 3: 107 ms per loop

In [38]: ap = cPickle.dumps(a, protocol=-1)

In [39]: %timeit cp = cPickle.loads(ap)
10 loops, best of 3: 72.6 ms per loop

In [40]: %timeit bpc = bp.pack_ndarray_str(a, blosc_args=bp.BloscArgs(cname='lz4'))
100 loops, best of 3: 19.2 ms per loop

In [41]: bpc = bp.pack_ndarray_str(a)

In [42]: %timeit bpu = bp.unpack_ndarray_str(bpc)
10 loops, best of 3: 29.9 ms per loop

In [43]: %timeit bpc = bp.pack_ndarray_str(a, chunk_size='20M', blosc_args=bp.BloscArgs(cname='lz4'), bloscpack_args=bp.BloscpackArgs(checksum='None', offsets=False, max_app_chunks=0))
100 loops, best of 3: 12.2 ms per loop

In [44]: bpc = bp.pack_ndarray_str(a, chunk_size='20M', blosc_args=bp.BloscArgs(cname='lz4'), bloscpack_args=bp.BloscpackArgs(checksum='None', offsets=False, max_app_chunks=0))

In [45]: %timeit bpu = bp.unpack_ndarray_str(bpc)
10 loops, best of 3: 21.3 ms per loop
```

One thing I have noticed that seems reproducible, is that decompression is slower than compression, always. I have not figured out yet why, but maybe it is to do with the cStringIO that I use, which must copy memory opportunistically during append operations.

Also, since I am currently doing the large scale benchmark, do you think I should benchmark cPickle too? It wasn't really on my radar. It is a zero compression method like NPY, so adding it to benchmarks would not increase time needed by much.