Make columnwise lambda debuggable

Instead of `eval`-ing a `lambda` string, this PR introduces a `Lambda` class whose `__call__` method takes the row being computed over. The expression to be computed is given in the constructor, like so:

```python
from blaze.expr import Lambda, TableSymbol
from datetime import datetime
t = TableSymbol('t', '{id: int, datetime: datetime}')
expr = t.datetime == datetime(2000, 1, 1, 1, 1, 1)
f = Lambda(expr.expr, t.columns)
```

In IPython

```
In [12]: from blaze.expr import Lambda, TableSymbol

In [13]: from datetime import datetime

In [14]: t = TableSymbol('t', '{id: int, datetime: datetime}')

In [15]: expr = t.datetime == datetime(2000, 1, 1, 1, 1, 1)

In [16]: f = Lambda(expr.expr, t.columns)

In [17]: f
Out[17]: lambda id, datetime: datetime == ('2000-01-01 01:01:01')
```
I see. I believe that will require making our own ast-like parser, which is fine.