Support for boolean indexing

Biggus is used in Iris. Before the switch to use Biggus one could used boolean indexing on cubes (see https://github.com/SciTools/iris/pull/643). Biggus does not currently support this ability e.g.
```python
>>> import biggus
>>> import numpy as np
>>> a = biggus.NumpyArrayAdapter(np.arange(12).reshape(3,4))
>>> a
<NumpyArrayAdapter shape=(3, 4) dtype=dtype('int64')>
>>> a[np.array([True, False, True])]
<NumpyArrayAdapter shape=(3, 4) dtype=dtype('int64')>
```
This should be
```python
<NumpyArrayAdapter shape=(2, 4) dtype=dtype('int64')>
```
This PR adds this functionality.