Hashable DataFrames
See this [SO answer](http://stackoverflow.com/a/15411073/1240268), they want to use memoisation.

OP points out this gets different results from (presumably it does it off id)

```
hash(pd.DataFrame([1,2,3])) 
```

Should they be hashable or should hash raise?  (does it defeat the point of hashing if hashing is expensive?)  cc @cpcloud 
