Python bindings

Here are some basic Python bindings. I haven't written up the documentation yet so maybe we should wait for that before merging but this is roughly what it looks like so far...

```
import hodlr
import numpy as np

def matrix(i, j):
    return np.exp(-0.5 * (i-j) ** 2)

solver = hodlr.HODLR(matrix, np.random.randn(5000)**2)
print(solver.logdet())

x = solver.solve(np.random.randn(5000, 10))
print(x.shape)
```