Add tests for repr on tables

When a table is backed by mutable data, repr(table) raises a TypeError
about hashing an unhashable type
Add into for DataFrame to DataFrame
Fix errors caused by hashing data in head

The data backing a table was being hashed while computing head. This
commit changes the traversing behavior to avoid this, and also changes
the hashing behavior for Table.

The hash of a Table object is now a hash of the schema, the name and the
id of the data.
Minor cleanup
Fix python3 incompatibility in table test
into: DataFrame <- Series
expr: break out subs to dispatched method
api: Redefine Table.args to avoid possibly mutable data

This required redefining subs.  Everything else seems to work well
support Map of Columnwise
fix test
Merge pull request #1 from mrocklin/table-repr-pandas

Redefine Table.args to avoid mutability.
support for Map of ColumnWise of Selection
Merge pull request #397 from mrocklin/parent-child

s/parent/child
Merge branch 'master' into map_columnwise

Conflicts:
	blaze/compute/python.py
	blaze/compute/tests/test_python.py
Merge pull request #377 from mattwescott/master

Fix repr when Table is backed by mutable data
fixup quickstart
Merge pull request #398 from mrocklin/class-function

Class function
expr: Reductions given more explicit names and dtypes

Rules like encoded in the common reductions

sum(dtype) :: dtype
count(anything) :: int

Additionally the names of the reduction are now appended onto the dshape, e.g.

    >>> t['amount'].sum().dshape
    {amount_sum: float64}
data: CSV supports missing values by defalt
python: head of large numbers doesn't evaluate tuple

remains a lazy iterator