Simplified some macro signatures.
Be more explicit and precise when materializing Cases.
Merge branch 'master' into scala-2.11.x

Conflicts:
	core/src/main/scala/shapeless/poly.scala
	core/src/main/scala/shapeless/singletons.scala