Test compute numpy

This is almost ready for merging. I have one problem though, with the function on line 49:

```
@dispatch(BinOp, base, np.ndarray)
def compute_up(t, lhs, rhs, **kwargs):
    return t.op(lhs, rhs)
```

Had a lot of trouble figuring out how to call this function, figuring out what it wanted for inputs. Any feedback on this would be appreciated. 
This was actually there before, but I had a little trouble with the BinOp function. I couldn't figure out exactly how to call this function: 

```
@dispatch(BinOp, base, np.ndarray)
def compute_up(t, lhs, rhs, **kwargs):
    return t.op(lhs, rhs)
```

and I was wasting too much time trying to figure out what was going on, and how to test it. I was hoping you might help me understand a bit better how to deal with BinOp and UnaryOp.