Add compute(Expr, DataDescriptor) implementation

Previously we would do

    results = compute(expr, iter(csv_ddesc))

or

    query = compute(expr, sql_ddesc.table)
    with sql_ddesc.engine.connect() as conn:
        results = conn.execute(query)

Now these are baked in so we just do

    results = compute(expr, csv_ddesc)
    results = compute(expr, sql_ddesc)

This is notationally convenient but organizationally tricky.

The left argument is from `blaze.expr`, the right is from `blaze.data`.
Historically these two haven't depended on each other.
remove dshape keyword from CSV
CSV schema discovery
discovery: hints for csv
SQLAlchemy table datashape discovery
SQL datashape discovery
CSV cleans up option and null types
discover on h5py dataset
HDF5 discovery cleanup
JSON datashape discovery
add columns attribute to DataDescriptor
fix imports around datashape
fix JSON IOError case
quick py26 fix
test SQLAlchemy preserves schema
fix sql schema test
data.csv: hints -> typehints