Typeable cleanup

* Don't materialize unverifiable Typeable instances. Fixes #69.
* Added support for casts to polymorphic case classes.
* Casts from null used to always succeed (what was I thinking?). Now
  they always fail.
* Casts to intersection types now verify all members of the
  intersection.
* Better handling of casts to existentially quantified polymorphic
  types.
Merge branch 'master' into scala-2.10.x
Added rotateLeft & rotateRight to HList & tuple
Merge pull request #157 from stacycurl/rotate

Added rotateLeft & rotateRight to HList & tuple
Typeable cleanup

* Don't materialize unverifiable Typeable instances. Fixes #69.
* Added support for casts to polymorphic case classes.
* Casts from null used to always succeed (what was I thinking?). Now
  they always fail.
* Casts to intersection types now verify all members of the
  intersection.
* Better handling of casts to existentially quantified polymorphic
  types.
Merge branch 'master' into scala-2.10.x