update the Bloscapck plug

Well:

```
In [4]: a = np.linspace(0, 1, 5e7)

In [5]: %time c = blp.pack_ndarray_str(a)
CPU times: user 809 ms, sys: 60.9 ms, total: 870 ms
Wall time: 391 ms

In [6]: %time b = blp.unpack_ndarray_str(c)
CPU times: user 598 ms, sys: 149 ms, total: 747 ms
Wall time: 351 ms

In [7]: %time ap = cPickle.dumps(a, protocol=-1)
CPU times: user 160 ms, sys: 87 ms, total: 247 ms
Wall time: 248 ms

In [8]: %time cp = cPickle.loads(ap)
CPU times: user 109 ms, sys: 45.8 ms, total: 155 ms
Wall time: 156 ms
```

This is on my laptop with only 2 physical cores.  I think this is not that bad.  And the best:

```
In [9]: 1.*len(ap) / len(c)
Out[9]: 8.259641047271748
```