FIX hash of DataFrame raises Typerror
fixes #3882

raise TypeError if trying to hash a DataFrame (or Panel etc.).

~~Should any PandasObjects be hashable? (pretty sure answer is yes)~~

Currently this makes NDFrame not hashable. Changing the message for Series too with your improvement and adding tests :)
 All tests pass, so I guess we aren't hashing anything. There were know hashing tests in the docs before.

Merge?
 ok by me
