Preprocessing

The preprocessing notebook for the American Gut data. A version of the notebook text can be found on [google docs](https://docs.google.com/document/d/1AR2GrHsVT8LjVTiRHPnn43GF_Eoz8wT5ZH3Q-Of9-BI/edit?usp=sharing). 
This is preallocating an empty vector but that doesn't save anything. You probably could instead do something like:

```python
single_ids = np.hstack([np.random.choice(ids, 1) for ids in host_grouped.groups.itervalues()])
```

It isn't necessary to branch if `len(ids) == 1` because the `np.random.choice` call will work in both conditions