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
Merge pull request #1 from mrocklin/table-repr-pandas

Redefine Table.args to avoid mutability.
Merge pull request #377 from mattwescott/master

Fix repr when Table is backed by mutable data