Interactive Table object

This adds an interactive table object as discussed at https://github.com/ContinuumIO/blaze/issues/298

It is just a TableSymbol with attached data.

I then hook up `compute`, `into`, and monkey patch a `__repr__` onto `Expr` that takes the head of the result, pushes into a Pandas dataframe, and then uses their string printing.  The result is an interactive, multi-backend experience.  Please note that this is not done.  In particular managing imports is starting to become unwieldy.  I think we should transpose the directory structure.

But in the mean time enjoy a data-frame-y interactive workflow powered by sqlite.

```Python
In [1]: from blaze.compute.sql import compute

In [2]: from blaze.data.sql import SQL

In [3]: from blaze.expr.table import *

In [4]: from blaze.api.table import Table

In [5]: sql = SQL('sqlite:///btc.db', 'user_edges')

In [6]: t = Table(sql)

In [7]: t
Out[7]: 
   transaction   sender  recipient            date       value
0            1        2          2  20130410142250   24.375000
1            1        2     782477  20130410142250    0.770900
2            2   620423    4571210  20111227114312  614.174951
3            2   620423          3  20111227114312  128.040520
4            3        3     782479  20130410142250   47.140520
5            3        3          4  20130410142250  150.000000
6            4    39337      39337  20120617120202    0.310818
7            4    39337          3  20120617120202   69.100000
8            5  2071196    2070358  20130304143805   61.602352
9            5  2071196          5  20130304143805  100.000000
...

In [8]: t['value'].max()  # SQL results need to be more Scalar aware
Out[8]: [(500000.0,)]

In [9]: By(t, t['sender'], t['value'].max())
   sender         value
0       1  40000.313370
1       2     38.349483
2       3    150.000000
3       4   7723.000000
4       5    119.000000
5       6     35.000000
6       7   8269.503018
7       8     32.700000
8       9     50.000000
9      10      1.810000
...
```
1) It looks like you are hiding pandas.into here, or is it that this is how multipledispatch needs to work?

2) Can we move imports to the top level? Imports scattered through code make it very difficult to refactor later.